翻译:动态SQL与静态SQL-安全(第二部分)

[复制链接]
查看11 | 回复1 | 2007-9-13 15:07:20 | 显示全部楼层 |阅读模式
原文地址:http://www.sqlservercentral.com/articles/Performance+Tuning/dynamicvsstatic2/623/
在前一篇文章:动态SQL与静态SQL的第一部分中,我简要地介绍了有关使用动态SQL涉及到的安全问题。在这篇文章我打算介绍一些方法,既使有静态SQL的解决方法,但是还存在诱使你使用动态SQL的情况。
许多人之所以选择使用动态SQL,其原因在于开发和部署不需要太多的考虑,代码少。换言之,相对于静态SQL来说,动态SQL不需要太多的维护。本文将就上述原因一一验证其正确性。
和先前介绍的文章一样,首先举一些动态SQL的代码片断,然后介绍使用静态SQL完成同样的功能的方法,以及静态SQL实在不能使用时,动态SQL才迫以使用的情况。
注意:示例采用Pubs数据库
案例1:搜索条件
第一种情况就是我见到过最多的、也是说明动态SQL为什么说它需要较少的考虑和实现代码的地方。这里使用Pubs数据库的authors表。我想实现的是根据传入一个参数变量来搜索满足条件的某一个author的信息。下面在查询分析器中要执行的代码:
DECLARE @names varchar(7000)
SET @names = 'white'
SELECT *
FROM authors
WHERE au_lname IN (@names)

回复

使用道具 举报

千问 | 2007-9-13 15:07:20 | 显示全部楼层
占位先


留着仔细看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行