文档详情

数据库技术与应用 --SQL Server2005 第9章 Transact-SQL程序设计.doc

发布:2017-12-15约1.13万字共11页下载文档
文本预览下载声明
第9章 Transact-SQL程序设计 EXEC sp_addtype test_add,Varchar(10),NOT NULL DECLARE @int_var int SELECT @int_var =12 /*给@int_var赋值*/ SELECT @int_var /*将@int_var的值输出到屏幕上*/ 在一条语句中可以同时对几个变量进行赋值,例如, DECLARE @LastName char(8),@Firstname char(8),@BirthDate datetime SELECT @LastName=Smith,@Firstname=David,@BirthDate=1985-2-20 SELECT @LastName,@Firstname,@BirthDate 【例9-1】 使用SELECT语句从customer表中检索出顾客编号为C0002的行,再将顾客的名字赋给变量@customer。 DECLARE @customer varchar(40),@curdate datetime SELECT @customer=customer_name,@curdate=getdate() FROM customer WHERE customer_id=C0002 【例9-2】 将sell_order表中的transporter_id列值为“T001”、goods_id列值为“G00003”的order_num列的值赋给局部变量@order_num。 DECLARE @order_num float UPDATE sell_order SET @order_num=order_num*2 /*@order_num为局部变量,order_num为sell_order表中的列名称*/ WHERE transporter_id=T001 AND goods_id=G00003 【例9-3】 计算employee表的记录数并赋值给局部变量@rows。 DECLARE @rows int SET @rows=(SELECT COUNT(*) FROM employee) SELECT @rows 【例9-4】 使服务器产生服务,并显示错误号。 raiserror(miscellaneous error message,16,1) /*产生一个错误*/ if @@error0 SELECT @@error as last error 【例9-5】 捕捉例9-4中服务器产生的错误号,并显示出来。 DECLARE @my_error int RAISERROR(miscellaneous error message,16,1) SELECT @my_error=@@error IF @my_error0 SELECT @my_error as last error 【例9-6】 使用@@spid返回当前用户进程的ID。 SELECT @@spid as ID,SYSTEM_USER AS Login Name,USER AS User Name 【例9-7】 在Sales数据库中创建jobs表,并在表中插入带有identity列的行,并且使用@@identity来显示新行中所用的identity值。 CREATE TABLE jobs ( [job_id] [smallint] IDENTITY (1, 1) NOT NULL , [job_desc] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL , [min_lvl] [tinyint] NOT NULL , [max_lvl] [tinyint] NOT NULL ) ON [PRIMARY] INSERT INTO jobs(job_desc,min_lvl,max_lvl) VALUES(Accountant,12,125) SELECT @@IDENTITY AS Identity 【例9-8】 创建两个过程:innerproc和outerproc。outerproc过程用来调用innerproc过程,innerproc过程用来显示@@nestlevel的设置。 ① 定义innerproc为内嵌过程。 CREATE PROCEDURE innerproc as SELECT @@nestlevel AS Inner Level GO ② 定义outerproc为外层过程。 CREATE PROCEDURE outerproc as SELECT @@nestlevel AS Outer Level EXEC innerproc GO ③
显示全部
相似文档