CREATE PROCEDURE pr_include
@ttablename nvarchar,
@iid int
AS
declare @tablename nvarchar(40)
declare @id int
declare @strsql nvarchar(40)
set @strsql=N'select * from @tablename where i_epid=@id'
exec sp_executesql @strsql,
@parms=N'@tablename nvarchar,@id int',
@tablename=@ttablename,
@id=@iid
GO
@ttablename nvarchar,
@iid int
AS
declare @tablename nvarchar(40)
declare @id int
declare @strsql nvarchar(40)
set @strsql=N'select * from @tablename where i_epid=@id'
exec sp_executesql @strsql,
@parms=N'@tablename nvarchar,@id int',
@tablename=@ttablename,
@id=@iid
GO
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@tablename'。
@ttablename nvarchar(20),
@iid int
AS
declare @id int
declare @strsql nvarchar(40)
set @strsql=N'select * from '+@ttablename+' where i_epid=@id'
exec sp_executesql @strsql,@parms=N'@id int',@id=@iid
GOpr_include 'include',1
@ttablename nvarchar(20),
@iid int
AS
--declare @tablename nvarchar(40)
declare @id int
declare @strsql nvarchar(40)
set @strsql=N'exec(select * from @tablename where i_epid=@id)'
exec sp_executesql @strsql,
@parms=N'@tablename nvarchar,@id int',
@tablename=@ttablename,
@id=@iid
GOpr_include 'include',1
@ttablename nvarchar(20),
@iid int
AS
--declare @tablename nvarchar(40)
declare @id int
declare @strsql nvarchar(40)
set @strsql=N'exec(''select * from ''+@tablename+'' where i_epid=@id)'
exec sp_executesql @strsql,
@parms=N'@tablename nvarchar,@id int',
@tablename=@ttablename,
@id=@iid
GOpr_include 'include',1