存储过程基本格式
create procedure [名字]
@参数名 参数类型//如有多个用,隔开
as
语句
或者
set nocount on
declare @sql nvarchar(4000)
set @sql=‘语句‘
+case when @参数符合什么条件 end
exec sp_executesql @sql,n‘
@参数 参数类型=null//如有多个用,隔开
,@参数
需要注意的是case后面加入的条件里开头一定要有空格,其次原语句结尾一定要是正常条件,例如order by 一定不可以出现在原语句结尾会导致语法无法读出
原文:http://www.cnblogs.com/hcddn/p/6247398.html