加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

存储过程

发布时间:2020-12-12 15:43:10 所属栏目:MsSql教程 来源:网络整理
导读:?在sqlserver2005数据库项目中,创建视图或存储过程的时候往往有以下开头语句: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ……………… ……………… GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO 这些是 SQL-92 设置语句,使 SQL Serv

?在sqlserver2005数据库项目中,创建视图或存储过程的时候往往有以下开头语句:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

………………

………………

GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。
当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。
SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。
当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。

?

?

?

?


CREATE PROCEDURE [dbo].[ pr1_sc_ins]
@Param1 char(10),@Param2 char(2),@Param3 real
AS
BEGIN
?insert into sc(sno,cno,score) values(@Param1,@Param2,@Param3)
END

?

?

?

CREATE PROCEDURE SF_图书借阅
AS
BEGIN TRAN
?UPDATE 图书信息 SET 现存量=isnull(现存量,0)-1
??FROM 图书信息 as a,图书借阅 as b
??where a.编号=b.图书编号 AND b.状态='新借'
?UPDATE 图书借阅 set 续借次数=0,状态='未还'
??where 状态='新借'
commit

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读