您的位置:首页 > 数据库

sql存储过程 1查询;2插入;3更新;4删除

2007-09-30 09:36 591 查看

CREATE PROCEDURE dbo.p


@actions int, --对表的操作类型:1--查询;2--插入;3--更新;4--删除


@tablename varchar(50), --传入的表名


@fields varchar(5000), --传入的字段参数


@filters varchar(5000), --传入的过滤条件


@sort varchar(50) --传入的排序字段


AS


declare @sqlstr varchar(1000)


if @actions = 1 --检索数据


BEGIN


if @fields <> '' --如果传入的检索字段不为空,则检索指定的字段


set @sqlstr = 'select ' + @fields + ' from '+ @tablename


else


set @sqlstr = 'select * from '+ @tablename


if @filters <> '' --如果传入的过滤条件不为空,则检索指定条件的sql


set @sqlstr = @sqlstr + ' where ' + @filters


if @sort <> '' --如果传入的排序字段不为空,则按指定的字段排序


set @sqlstr = @sqlstr + ' order by ' + @sort




exec(@sqlstr) --执行检索


END




if @actions = 2 --插入数据")


exec('insert into '+ @tablename + ' (' + @fields + ') values(' + @filters + ')')




if @actions = 3 --更新数据")


BEGIN


if @filters <> '' --如果传入的过滤条件不为空,则更新指定条件的行")


exec('update '+ @tablename + ' set ' + @fields + ' where ' + @filters )


else


exec('update '+ @tablename + ' set ' + @fields ) --更新所有行


END




if @actions = 4 --删除数据")


BEGIN


if @filters <> '' --如果传入的过滤条件不为空,则删除指定条件的行")


exec('delete from '+ @tablename + ' where ' + @filters)


else


exec('delete from '+ @tablename) --删除所有行
END




if @@ERROR = 0


RETURN 0


GO





--调用---


---p 1,'[link] as a',' top 32 *',' checked=1 and paiming is not null and logoURL is null ','paiming'

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐