当前位置:Gxlcms > 数据库问题 > SQL Server中对存储过程的理解

SQL Server中对存储过程的理解

时间:2021-07-01 10:21:17 帮助过:22人阅读

PROC hello AS BEGIN /*....*/ END GO

执行的时候也是,只需要在自定义存储过程执行即可

EXEC hello

有参的时候写法也不陌生:

CREATE PROC hello_1 @n1 int
AS
    BEGIN
        //.....
    END
GO
EXEC hello_1 123
/*或者 EXEC hello_1 @n2=‘123‘*/

 

在执行的时候如果是批处理的第一条语句则可以将EXEC省略

在编写的时候,会有许多不同的需求,存储过程时没有返回值的,我们需要返回相关信息的时候就希望类似于C/C++一样传入指针或者引用,在SQL Server中实现的方式是在变量之后加上OUTPUT。

对参数进行修饰的属性还有很多:

VARYING 只适用于输出参数为Cursor变量,该参数由存储过程动态构造
参数=值 表示默认值
READONLY 修饰不能在存储过程中更新或者修改的参数,类似于C/C++的const
RECOMPILE  执行存储过程时重新编译

注意事项:

  自定义存储过程只能在当前数据库中创建,临时存储过程除外,临时存储过程在系统数据库tempdb创建

  存储过程创建成功之后,过程名在sysobjects中,语句文本存放在syscomment中

  自动执行存储过程是SQL Server在启动过程中自动执行的一些存储过程,这些存储过程都不能有参数的。

SQL Server中对存储过程的理解

标签:tab   server   更新   proc   int   注意   com   行存储   end   

人气教程排行