SQL 动态语句在项目中的应用

前言: 在项目开发中,大部分操作是在同数据库进行交互操作,数据操作常见的方式为:
1 存储过程
2 拼接SQl语句 直接发送至数据库运行
下文我们将阐述拼接SQL的心得


一、拼接SQL 注意事项

拼接SQL前,我们需要定义一个变量来存储我们拼接后的SQL,
declare @sql varchar(1000)
1.1 @sql变量只可以定义为 ntext/nchar/nvarchar 类型
1.2 在拼接SQL时,我们需要为@SQL 变量定义足够大的空间对拼接后的SQL进行存储
1.3 拼接SQl时,我们不要把系统发送的参数直接拼接进去,而应该采用SQL参数的形式接受参数。

二、拼接SQL举例说明

2.1 定义一个变量存储拼接后的sql
declare @sql nvarchar(2000),
@tbName varchar(30),
@d_E datetime

set @tbName=’T00TableSYNCTmp’
set @d_E = ‘2015-1-1’
2.2 拼接SQL
set @sql =’select top 10 thisflag,columnValue from ‘ +@tbname +’ where thisFlag > @d’

2.3 执行拼接后的SQL

exec sp_executesql
@sql,N’@d datetime’,
@d=@d_E