sql中declare

declare 声明的意思

eg.  declare @local_variable data_type 

声明时需要指定变量类型,

在sql语句中就可以使用@local_variable来调用变量

声明局部变量语法:

DECLARE @variable_name DataType

其中 variable_name为局部变量的名称,DataType为数据类型。

给局部变量赋值有两种方法:

1、SET @variable_name=value

2、SELECT @variable_name=value

两者的区别:SET赋值语句一般用于赋给变量一个指定的常量,SELECT赋值语句一般用于从表中查询出数据然后赋给变量。

 

例如:declare @id int

         declare @id int = 3                ---声明中可以提供值,否则声明之后所有变量将初始化为NULL。

         set @id=2

         select @id = column_id from table where column_user = 'ABC'     ---可以使用set和select对变量赋值

uniqueidentifier数据类型可存储16字节的二进制值,其作用与全局唯一标记符(GUID)一样

 

全局变量:

由于全局变量是系统定义的,我们这里只做举例。

@@ERROR 最后一个T-SQL错误的错误号

@@IDENTITY 最后一次插入的标识值

@@LANGUAGE 当前使用的语言名称

@@MAX_CONNECTIONS 可以创建的同时连接的最大数目

@@SERVERNAME 本地服务器的名称

@@VERSION SQL Server的版本信息

 

这里是触发器的写法:

create trigger updateTest on test for update

as

begin

declare @id int

declare @tablename varchar(100)

declare @remark varchar(150)

set @tablename='test'

set @remark=''

select @id=id from deleted insert into tb_index values(@id,@tablename,@remark)

end

create trigger deleteTest on test for delete

as

begin

declare @id int declare @tablename varchar(100)

declare @remark varchar(150) set @tablename='test' set @remark=''

select @id=id from deleted insert into tb_index values(@id,@tablename,@remark)

end

create trigger insertTest on test for insert

as

begin

declare @id int declare @tablename varchar(100)

declare @remark varchar(150) set @tablename='test' set @remark=''

select @id=id from inserted insert into tb_index values(@id,@tablename,@remark)

end

posted on 2017-01-03 11:48  尘埃埃埃埃  阅读(1736)  评论(0)    收藏  举报

导航