sql server存储过程
来源:互联网 发布:手机编辑音频软件 编辑:程序博客网 时间:2024/05/16 05:26
1. 创建存储过程
使用CREATE PROC语句创建存储过程
语法格式:
CREATE PROC proc_name [{@parameter data_type} [varying] [=default] [output]] [,...n]AS sql_statement
CREATE PROC为创建存储过程的关键字
proc_name为存储过程名称,
@parameter为存储过程的参数,可以有多个参数
datatype为参数的数据类型
default为参数的默认值
output为存储过程的返回参数
AS指定该存储过程要执行的操作
sql_statement为存储过程执行的操作
CREATE PROC first_proc@course_name varchar(7) 'Nick'ASSELECT * FROM course where 课程名称=@course_name
2.执行存储过程
2.1 通过EXEC执行存储过程
[EXEC]{ [{@return_status= ] {module_name [;number] |@module_name_var} [[@parameter=] {value |@variable [OUTPUT] |[DEFAULT]}] [,...n] [WITH RECOMPILE] AS sql_statement}@return_status为
2.2 通过EXEC执行存储过程
EXEC proc_name
3.查看存储过程
系统中的每个存储过程都是一个object,都有object_id,definition等属性。
- 使用sys.sql_modules查看存储过程的定义
sys.sql_modules为系统视图,通过该视图可以查看数据库中的存储过程,
SELECT * FROM sys.sql_modules
- 使用OBJECT_DEFINITION查看存储过程的定义
OBJECT_DEFINITION(object_id)
object_id为要使用对象的id,其类型为int,
SELECT OBJECT_DEFINITION(309576141)
- 使用sp_helptext查看存储过程的定义
sp_helptext[@objname=]'name'[,@columnname=] computed_column_name
4. SET选项
SET ANSI_NULLS ONSET QUOTED_IDENTIFIER ON
当SET QUOTED_IDENTIFIER 为ON时,标识符可以由双引号分隔,文字必须由单引号分隔,当设置为OFF时,标识符不可加引号,同时必须符合T-SQL标识符规则。
当 SET QUOTED_IDENTIFIER 为 ON 时,由双引号分隔的所有字符串都被解释为对象标识符。因此,加引号的标识符不必遵守 Transact-SQL 标识符规则。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。不能使用双引号分隔文字字符串表达式,而必须用单引号括住文字字符串。如果单引号 (‘) 是文字字符串的一部分,则可以由两个单引号 (”) 表示。当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。
当 SET QUOTED_IDENTIFIER 为 OFF(默认值)时,表达式中的文字字符串可以由单引号或双引号分隔。如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号,如省略号。
当在计算列或索引视图上创建或操作索引时,SET QUOTED_IDENTIFIER 必须为 ON。如果 SET QUOTED_IDENTIFIER 为 OFF,则计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。有关计算列上的索引视图和索引所必需的 SET 选项设置的更多信息,请参见 SET 中的”使用 SET 语句时的注意事项”。
Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。
当SET ANSI_NULLS 为ON时,
- SQL SERVER存储过程
- SQL SERVER存储过程
- Sql Server 存储过程
- SQL Server存储过程
- SQL SERVER 存储过程
- SQL Server 存储过程
- SQL Server存储过程
- SQL Server存储过程
- SQL Server 存储过程
- SQL Server 存储过程
- SQL Server 存储过程
- SQL Server 存储过程
- SQL Server 存储过程
- sql server存储过程
- sql server存储过程
- SQL Server存储过程
- SQL Server 存储过程
- sql server 存储过程
- Binary Tree Preorder Traversal
- 用户 用户头像 数据库设计
- myeclipse下将java工程提交到svn服务器
- Java本地时间与GMT时间的转换
- ElasticSearch之动态mapping模板
- sql server存储过程
- LL(1)文法分析,自上向下
- BZOJ1018 [SHOI2008]堵塞的交通traffic
- maven 添加包
- 滑动时NSTimer定时器停止的解决方法
- hdu1054Strategic Game&&hdu1150Machine Schedule(最小顶点覆盖)
- 用户标签系统 数据库设计
- [KD-TREE] BZOJ 4066 简单题
- ZSJ_KTime.a库的使用