SQL中触发器变量怎么用,有什么作用啊,什么时候用啊跪求大侠详细讲解下啊。。。

SQL中触发器变量怎么用,有什么作用啊,什么时候用啊跪求大侠详细讲解下啊。。。,第1张

触发器的变量和存储过程的变量都是一样的作用,用来获得某个字段或者语句。例子:

create tigger in_sert on 表a

for insert

begin

--这里我想获得插入数据某一个字段的值来判断是否大於多少

declare @num int --定义的类型与要获得的类型一致

select @num=数量 from inserted

--下面就可以判断插入数量的值了

if @num>10 then

begin

print '插入的数量为:'+@num

end

if@num<10

begin

print '插入的数量为:'+@num

end

当然不用变量也可以,下面的写法

if (select 数量 from inserted)>10

begin

end

临时表、表变量的比较

1、临时表

临时表包括:以#开头的局部临时表,以##开头的全局临时表。

a、存储

不管是局部临时表,还是全局临时表,都会放存放在tempdb数据库中。

b、作用域

局部临时表:对当前连接有效,只在创建它的存储过度、批处理、动态语句中有效,类似于C语言中局部变量的作用域。

全局临时表:在所有连接对它都结束引用时,会被删除,对创建者来说,断开连接就是结束引用;对非创建者,不再引用就是结束引用。

但最好在用完后,就通过drop table 语句删除,及时释放资源。

c、特性

与普通的表一样,能定义约束,能创建索引,最关键的是有数据分布的统计信息,这样有利于优化器做出正确的执行计划,但同时它的开销和普通的表一样,一般适合数据量较大的情况。

有一个非常方便的select into 的用法,这也是一个特点。

2、表变量

a、存储

表变量存放在tempdb数据库中。

b、作用域

和普通的变量一样,在定义表变量的存储过程、批处理、动态语句、函数结束时,会自动清除。

c、特性

可以有主键,但不能直接创建索引,也没有任何数据的统计信息。表变量适合数据量相对较小的情况。

必须要注意的是,表变量不受事务的约束,

绑定变量目的是减小数据库的解析的次数select

from

table

where

field=

:fld:fld这个叫绑定变量,即,数据库解析时用占位符,后再传值执行

整型: tiny int,small int,medium int,int,big int,大小分别为 8,16,24,32,64位。(1字节 = 8 位)

浮点型: float、double

字符串类型: 定长的 char,变长的 varchar。在进行存储时,char 会删除末尾的空格,varchar 会保留末尾的空格。

日期时间类型: 与时区无关的 data time,与时区有关的 time stamp。

以上就是关于SQL中触发器变量怎么用,有什么作用啊,什么时候用啊跪求大侠详细讲解下啊。。。全部的内容,包括:SQL中触发器变量怎么用,有什么作用啊,什么时候用啊跪求大侠详细讲解下啊。。。、sql临时表表变量的使用方法与什么时候用最好、数据库中,什么是绑定变量,有什么优缺点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9580156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存