定义变量

qqyellow 2006-08-10 11:02:37
变量定义@ItemNo

表PTL_CMT_Material

列sitem_itemno

sitem_itemno
----------------
11-040002200
11-034068041
14-124071343
14-124000263

怎么定义变量当@ItemNo=''时,选取@ItemNo等于sitem_itemno里的全部数据
全部数据都执行一次存储过程
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqyellow 2006-08-10
  • 打赏
  • 举报
回复
可能是我没有阐述清楚,我的意思是我想写个存储过程,里面的一个变量是@ItemNo ,定义@ItemNo =‘’时选择@ItemNo 为PTL_CMT_Material表中的sitem_itemno列中的每一个数据都执行一下存储过程
qqyellow 2006-08-10
  • 打赏
  • 举报
回复
好像不行啊
liangpei2008 2006-08-10
  • 打赏
  • 举报
回复
--不知是不是这个意思
--测试数据
CREATE TABLE [PTL_CMT_Material]([sitem_itemno] VARCHAR(50))
INSERT [PTL_CMT_Material] SELECT '11-040002200'
UNION ALL SELECT '11-034068041'
UNION ALL SELECT '14-124071343'
UNION ALL SELECT '14-124000263'
--存储过程
CREATE PROC p_test
@ItemNo varchar(10)=''
AS
SET NOCOUNT ON
DECLARE @sql varchar(8000)
SET @sql='SELECT * FROM [PTL_CMT_Material] WHERE 1=1'
IF @ItemNo <> ''
SET @sql=@sql+' AND [sitem_itemno]='''+@ItemNo+''''
EXEC(@sql)
GO
--执行
DECLARE @ItemNo VARCHAR(50)
SET @ITEMNO='' --@ItemNo为''
EXEC P_TEST @ITEMNO
九斤半 2006-08-10
  • 打赏
  • 举报
回复
if @ItemNo='' then
select * from test
else
select * from test where ……

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧