sp_excutesql ============================================================================== execute sp_executesql N'select * from pubs.dbo.employee where job_lvl = @level', N'@level tinyint', @level = 35楼主是这个意思吗?
TO zjdyzwx(十一月猪): N'select * from pubs.dbo.employee where job_lvl = @level', N'@level tinyint', 语句前面带N是什么意思啊,我看到过好多,就是还没明白
所有通过参数传递的表名称或列名称都是字符串,而不是真正的表对象或列对象.所以在过程内使用它们的时候必须使用字符串连接符"+"生成SQL语句字符串,这个SQL字符串就叫动态SQL,然后使用EXEC执行这个字符串,象一楼展示的那样. 如果参数不是数据库对象,只是条件值,则可以直接使用: create proc #x @id int as select * from mytable where id = @id go
set @s='SELECT * FROM '+ @t1
exec(@s)
谢hellowork()让我死心.
==============================================================================
execute sp_executesql
N'select * from pubs.dbo.employee where job_lvl = @level',
N'@level tinyint',
@level = 35楼主是这个意思吗?
N'select * from pubs.dbo.employee where job_lvl = @level',
N'@level tinyint',
语句前面带N是什么意思啊,我看到过好多,就是还没明白
如果参数不是数据库对象,只是条件值,则可以直接使用:
create proc #x @id int
as
select * from mytable where id = @id
go