触发器 索引视图 游标 事务

 
触发器

create trigger tr_banj_insert
on t_banj

after insert
as
begin

declare @log varchar(50)

select @log=‘插入的记录:banj_mc=‘ +banj_mc+‘banzr=‘+banzr from inserted  --新数据
insert into t_log (biaomc,caoznr) values(‘t_banj‘,@log)

end

create trigger tr_banj_delete

on t_banj

after delete

as

begin

delete @log varchar(50)

select*from deleted --旧的数据

select @log=‘删除的记录:‘ +cast()+‘banzr=‘+banzr from inserted
end
索引  视图

--创建索引 根据查询条件来建立
create index ind_xuns_xunh on dbo.t_xuns
(xunh)

select * from t_xuns where banj_id=1

--创建视图
create view v_st
as
select * from t_xuns

drop index  view
游标--定义游标
declare @banjid varchar(30)

declare @banjmc varchar(30)

--forward游标向前  scroll滚动的 

declare  cur cursor  scroll dynamic for select banj_id,banj_mc from t_banj 

--打开游标
open cur

fetch next from cur into @banjid,@banjmc

while @@FETCH_STATUS=0--判断是否取到数据

begin

fetch next from cur into @banjid,@banjmc

print(‘@banjid=‘[email protected] +‘@banjmc‘[email protected])

end
--关闭游标
close cur

--释放游标
deallocate cur
事务

--启动事务
begin tran t1 

delete t_log where log_id=1   --转出钱操作

delete t_xuns where xueh =‘201501‘--转出钱的操作

--全局变量 

if @@ERROR<>0
rollback tran t1

else

--提交事务

commit tran t1
时间: 2024-10-19 04:52:59

触发器 索引视图 游标 事务的相关文章

2014.9.12触发器.索引.视图.游标

(一)触发器 什么是触发器? 触发器是一种特殊类型的存储过程,它不同于存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. 触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器. 1.after触发器(之后触发) insert触发器 update触发器 delete触发器 2.instead of 触发器 (之前触发) 其中after触发器要求只

索引 视图 游标

索引: 不用扫描整个表就实现对数据快速访问的途径. 二进制类型不支持索引 视图: 从一个或多个基本表中导出所显示的表,是没有数据的虚表. 多表出一视图,一表出多视图,多表与一视图出一视图 游标: 所有数据库:行的次序无关,列的次序无关 select Code,Name,Brand_Name,Prod_Name,oil,Price from car join Brand on Car.Brand = Brand.Brand_Code join Productor on Productor.Prod

sql中的触发器、视图、事务

·触发器(trigger) [触发器本质上还是一个存储过程,只不过不是用exe来调用执行,而是通过增删改数据库的操作] [触发器只对增.删.改有效] 触发器的格式 (instead of与for的区别 如下) instead of: create trigger 触发器名(TR_表名_操作) on 表名 instead of 增或删或改 --当为instead of时,go下的代码不执行只起到触发的作用,只执行as里面的代码 as as里面随便写代码 go go下的代码只能是 增或删或改 for

数据库理论之视图、事务、索引、优化查询

数据库理论之视图.事务.索引.优化查询 一.视图 灵魂三问 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁的使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view 视图名 as sql语句 注意:创建出来的视图只有表结构,数据来源还是原来的表 视图通常都是用于查询,所以尽量不要修改视图中的数据 思考:开发过程中应不应该使用视图? 不应该 二.触发器 命名规则及理论 在满足对某张表数据的增删改的情况下,自动触发的功

联合分组、子查询、视图、事务、python操作mysql、索引

目录 联合分组.子查询.视图.事务.python操作mysql.索引 一.联合分组 二.子查询 三.all 与any:区间修饰条件 四.视图:view 视图的增删改 五.事务 5.1.事务的概念 5.2.事务的四大特性 六.pymysql 模块:python操作mysql 6.1 安装pymysql 模块 6.2 python用pymysql 操作mysql步骤 6.3 游标操作 6.4 pymysql事务 6.5 sql注入 七.索引 联合分组.子查询.视图.事务.python操作mysql.

PL/SQL 编程(三 )程序包和包体,触发器,视图,索引

一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. 它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装.包类似于JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法. create or replace package stuinfo as type stucur is ref cursor; proce

数据库索引,存储过程,视图,事务

一,索引索引是一个独立的,物理的数据库结构,可以快速找到表或视图的信息通常情况下只有需要经常查询索引列中的数据时才在表上创建索引基本语法:CREATE INDEX StockIndexON appSchema.StockEvents (StockSymbol);创建唯一索引:Create unique index 索引名称On 表名(字段1,字段2)聚集索引:clustered 每个键值只有一个聚集索引非聚集索引noclustered:索引的键值包含指向表中记录存储位置的指针,不对表中数据排序聚

索引、视图、事务

索引 是一个数据结构,用来查询数据库表的数据 主键索引: primary  key 作用:确认表中一条特定数据记录的位置,不能为空,一个表只有一个主键 外键索引:表中的一个字段(非主键)指向另一张表中的主键,称该字段为主键. foreign  key(外键名)  references  主表(主键) : 作用:多表查询时方便联系两表数据.限制:表类型必须是innodb(有约束效果) 唯一索引:确定某一列不能出现重复的值 unique 普通索引: create  index   索引名   on 

视图性能优化——索引视图

视图性能优化——索引视图http://blog.csdn.net/eriato/article/details/41039985 索引视图 索引视图有助于提高 T-SQL 的性能 Itzik Ben-Gan T-SQL 是一种允许您以逻辑方式设计请求的语言.这里所说的“逻辑”的意思是,当编写查询时,您指定的是希望获得什么 结果,而不是希望以何种方式 获得结果.对如何处理查询进行设计是查询优化器的工作.您所遇到的需要 T-SQL 解决方案的每个问题通常都有许多不同的解决方案,它们最终会返回同样的结