sqlserver创建存储过程
参考链接:SqlServer存储过程详解
一、定义结构体
if (exists (select * from sys.objects where name = 'procName')) //判断数据库是否存在该存储过程 drop procedure procName //如果存在就删除或者做其他操作,这里是删除 create procedure procName //创建存储过程 @param_name param_type [=default_value] //定义参数param_name,数据类型是param_type,=default_value是赋值给参数;可以在调用存储过程时将值传进来 @param_name1 param_type output //输入输出参数,可以output指定输出参数,在存储过程执行之后可以select输出 @param_name2 param_type out //输出参数 as begin sql语句 end
如果在一个参数定义前加上N,是将数据类型转为nvarchar,字符串转为unicode,在中文输出的时候不会导致乱码。比如N'@a varchar(100) OUT'就是防止中文输出乱码;
二、其他知识点
1、sp_executesql是SQL Server中内置的存储过程,用于执行动态构造SQL语句或批处理