存储过程 变量赋值问题
SS_ 2006-07-01 01:51:21 -- 存储过程的逻辑很简单,就是通过输入的表名,字段名,字段值,查出@typeLayer字段的值
create procedure typeGetLayerStrById
@typeTable varchar(255), -- 类型表名
@typeId varchar(255), -- 类型自增id字段名
@typeIdValue varchar(50), -- 类型自增id字段值
@typeLayer varchar(255), -- 类型层级字段名
@typeLayerValue varchar(100) output -- 类型层级字段值
AS
declare @typeSqlStr varchar(1000) -- 类型sql语句字符串
set @typeSqlStr = 'select @typeLayerValue='+ @typeLayer +' from '+ @typeTable +' where '+ @typeId +'='+ @typeIdValue
exec(@typeSqlStr)
print @typeSqlStr
print @typeLayerValue
GO
-- 执行语句
exec typeGetLayerStrById 'mytype','type_id','7','type_layer',''
-- 结果
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@typeLayerValue'。
select @typeLayerValue=type_layer from mytype where type_id=7
请问 在执行 @typeSqlStr 这个sql语句变量的时候,我怎么给@typeLayerValue变量赋值?