为了再开发过程中运用存储过程能够更加灵活可以试着使用拼接sql语句,动态的执行sql语句,最关键的是使用数据库的关键函数sp_executesql

 

首先声明一个参数:

declare @SQLWhere nvarchar(3250)

然后给参数赋值:

set @SqlWhere ='select * from BsUser'

执行:

exec sp_executesql @SqlWhere

然后一个非常简单的动态sql 完成了:

可以发现数据库执行的是字符串里面的sql语句,既然是字符串那就可以自由拼接(当然想要执行成功也要符合sql语法规则):

declare @SQLWhere nvarchar(3250)

set @SqlWhere ='select * from GblSysMenu'

set @SqlWhere += ' where id = 2'

exec sp_executesql @SqlWhere

更多推荐

Sql字符拼接sql语句动态执行