1、创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的Transact-SQL语句的集合。
2、可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在Microsoft? SQL Server? 启动时自动运行的存储过程。
3、存储过程的最大大小为128 MB。用户定义的存储过程只能在当前数据库中创建(临时过程除外,临时过程总是在tempdb 中创建)。在单个批处理中,CREATE PROCEDURE 语句不能与其它Transact-SQL 语句组合使用。
4、默认情况下,参数可为空。如果传递NULL 参数值并且该参数在CREATE 或ALTER TABLE 语句中使用,而该语莞鲕塾侃句中引用的列又不允许使用NULL,则SQL Server 会产生一条错误信息。为了防止向不允许使用NULL 的列传递NULL 参数值,应向过程中添加编程逻辑或为该列使用默认值(使用CREATE 或ALTER TABLE 的DEFAULT 关键字)。
5、建议在存储过程的任何CREATE TABLE 或ALT苇质缵爨ER TABLE 语句中都为每列显式指定NULL 或NOT NULL,例如在创建临时表骀旬沃啭时。ANSI_DFLT_ON 和ANSI_DFLT_OFF 选项控制SQL Server 为列指派NULL 或NOT NULL 特性的方式(如果在CREATE TABLE 或ALTER TABLE 语句中没有指定的话)。如果某个连接执行的存储过程对这些选项的设置与创建该过程的连接的设置不同,则为第二个连接创建的表列可能会有不同的为空性,并且表现出不同的行为方式。如果为每个列显式声明了NULL 或NOT NULL,那么将对所有执行该存储过程的连接使用相同的为空性创建临时表。