首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

高手看看这个存储过程如何写

2012-01-19 
高手看看这个存储过程怎么写?table1结构如下:idint,--自增变量indexint,flagint我在程序中这样操作:首先获

高手看看这个存储过程怎么写?
table1结构如下:
id   int,--自增变量
index   int   ,
flag   int


我在程序中这样操作:
首先获取满足flag值的index的最大值
Select   Max(index)   from   table1   where   flag   =   2;//flag值是输入值

如果上条语句执行结果行数等于1,我就把获取的值放在程序变量int   index中,否则令index   =   0
index   ++;

然后执行如下语句
sqlstring   =   sprintf( "Insert   into   table1(index,flag)values(%d,2) ",index);//使用index的值插入一行

请问,我如果要通过一条存储过程来完成上面的操作该怎么写?存储过程接收参数flag

                                                                谢谢!



[解决办法]
Create proc procname(@flag int)
as
Insert into table1([index],flag)
Select IsNULL((Select max([index]) from table1 where flag = @flag),0)+1,@flag
go

热点排行