当前位置: 首页 > news >正文

网站建设好吗手机搜索引擎排行榜

网站建设好吗,手机搜索引擎排行榜,服装网购网站十大排名,wordpress网易插件怎么用目录 1、存储过程 1.1 存储过程的概述 1.2 存储过程的类型 1. 系统存储过程 2. 本地存储过程 3. 临时存储过程 4. 扩展存储过程 1.3 T-SQL创建存储过程 1.4 T-SQL执行存储过程 1.5 T-SQL查看存储过程 1.6 T-SQL修改存储过程 1.7 T-SQL删除存储过程 2、触发器 2.1 …

目录

1、存储过程

1.1 存储过程的概述

1.2 存储过程的类型

1. 系统存储过程

2. 本地存储过程

3. 临时存储过程

4. 扩展存储过程

1.3 T-SQL创建存储过程

1.4 T-SQL执行存储过程

1.5 T-SQL查看存储过程

1.6 T-SQL修改存储过程

1.7 T-SQL删除存储过程

2、触发器

2.1 触发器的概述

2.2 触发器的类型

1.DML触发器

2.DDL 触发器

3.登录触发器

2.3 T-SQL创建触发器

1. 创建触发器的注意事项

2. DML触发器

3. DDL触发器

2.4 T-SQL查看触发器

2.5 T-SQL修改触发器

2.6 T-SQL禁用和启用触发器

2.7 T-SQL删除触发器


 T-SQL的语法约定

数据库的概念和操作-CSDN博客

1、存储过程

1.1 存储过程的概述

存储过程是一组在数据库系统中为了完成特定功能T-SQL语句的集合,经编译后独立存储在数据库中。当需要其功能时,只需要通过存储过程名并给出参数(如果存储过程有参数的情况)调用即可,且存储过程只在首次执行时进行编译,而不需要每次执行时重新编译,所以比单个T-SQL语句块的运行速度快。

存储过程是SQL Server中一个非常有用的工具。SQL Server支持存储过程和系统过程。存储过程是独立存在于表之外的数据对象。可以客户调用,也可以从另一个过程触发器调用参数可以被传递和返回出错代码也可以被检验到

1.2 存储过程的类型

1. 系统存储过程

系统存储过程是安装SQL Server 2014时自动创建的。系统存储过程能执行许多管理性和信息性活动(如获取数据库信息或者数据库对象的信息等)。系统过程主要存储在master数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息可以在其他数据库中被调用

2. 本地存储过程

本地存储过程也称为用户定义存储过程,是由用户自行创建并存储在用户数据库中的存储过程,一般所说的存储过程指的就是本地存储过程

3. 临时存储过程

临时存储过程可分为以下两种:

(1)本地临时存储过程

如果在创建存储过程时,其名称以#”号开头,则该存储过程将成为一个存储在tempdb数据库中的本地临时存储过程

(2)全局临时存储过程

如果在创建存储过程时,其名称以##”号开头,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程

不论创建的是本地临时存储过程还是全局临时存储过程,只要SQL Server 2014停止运行它们将不复存在

4. 扩展存储过程

扩展存储过程是用户可以使用外部程序语言(例如C语言)编写的存储过程。显而易见,扩展存储过程可以弥补SQL Server 2014的不足,并按需要自行扩展其功能。

扩展存储过程在使用和执行上与一般的存储过程完全相同,为了区别,扩展存储过程的名称通常以XP_开头。扩展存储过程是以动态链接库(DLL)的形式存在,能让SQL Server 2014动态地装载和执行。扩展存储过程一定要存储在系统数据库master中

1.3 T-SQL创建存储过程

CREATE {PROC|PROCEDURE} [schema_name.]procedure_name
[ @parameter data_type [=default] [OUT|OUTPUT|[READONLY]] [,...n] 
AS {[BEGIN] sql_statement [...n] [END]}

PROC|PROCEDURE:PROCEDURE可以简写为PROC

OUT|OUTPUT|READONLY:

OUT|OUTPUT输出型参数,类似于引用。

READONLY不能在过程的主体中修改参数参数类型为表值类型必须指定READONLY

1.4 T-SQL执行存储过程

[EXEC|EXECUTE] procedure_name [[@parameter=]{value|@variable[OUTPUT]}] [,...n]

EXEC|EXECUTE:EXECUTE可以简写为EXEC,如果存储过程是批处理中的第一条语句,那么可以省略EXECUTE关键字。

@parameter=:关键字参数,明确指定哪个实参传递给那个形参。

@variable OUTPUT:输出型参数,形参和实参的位置都要写OUTPUT

1.5 T-SQL查看存储过程

SP_HELPTEXT 'name' -- 命令语句
SP_HELP ['name'] -- 名称、架构名、类型、创建时间、参数
-- name省略时,显示所有数据库对象

1.6 T-SQL修改存储过程

与T-SQL创建存储过程相同,只是把CREATE 换成 ALTER

1.7 T-SQL删除存储过程

DROP {PROC|PROCEDURE} {[schema_name.]procedure_name} [,...n]

2、触发器

2.1 触发器的概述

触发器是一种特殊存储过程,它会在特定的事件或条件自动执行

优点:

1. 强制实现比CHECK约束更复杂数据的完整性

2. 实现自定义的错误信息提示。

3. 对数据库中的相关表实现级联修改和删除。

4. 可调用更多的存储过程

5. 禁止或回滚违反引用完整性(主键外键)的更改。

2.2 触发器的类型

1.DML触发器

DML触发器是当数据库服务器中发生数据操作语言(DML)事件时会自动执行的存储过程。DML事件包括在指定表或视图中修改数据的INSERT语句、UPDATE语句或DELETE语句。DML触发器可用于强制业务规则和数据完整性、查询其他表并包括复杂的T-SQL语句。

SQL Server 2014的DML触发器分为两类:

①AFTER触发器

在执行INSERT、UPDATE、MERGE或DELETE语句的操作之后执行AFTER触发器。 AFTER触发器只能在表上定义,可以为针对表的同一操作定义多个触发器。

②INSTEAD OF触发器

与AFTER触发器不同,INSTEAD OF触发器一般用来取代原来的操作,它是在数据变更之前触发的,它并不执行原来的操作语句(INSERT、UPDATE或DELETE),而去执行触发器本身所定义的操作。 INSTEAD OF触发器不仅可以定义在表上,也可以定义在视图上

2.DDL 触发器

DDL触发器在响应数据定义语言(DDL)语句时触发,DDL触发器一般用于数据库中执行管理任务。

当在执行触发DDL触发器的DDL语句后,DDL触发器才会触发。DDL触发器无法作为INSTEAD OF触发器使用。

3.登录触发器

登录触发器将为响应 LOGIN 事件而激发存储过程。

2.3 T-SQL创建触发器

1. 创建触发器的注意事项

(1) CREATE TRIGGER语句必须是批处理的第一条语句只能用于一个表或视图

(2) 创建触发器的权限默认为表的所有者不能将该权限转让给其他用户

(3) 虽然触发器可以引用当前数据库以外的对象,但只能在当前数据库中创建

(4) 虽然不能在临时表或系统表上创建触发器,但是触发器可以引用临时表,不应引用系统表,而应使用系统架构视图。

(5) TRUNCATE TABLE 语句类似于没有WHERE字句的DELETE语句,但不会激发DELETE触发器

2. DML触发器
CREATE TRIGGER [schema_name.]trigger_name 
ON {table|view} 
{FOR|AFTER|INSTEAD OF}  -- FOR=AFTER
{[INSERT][,][UPDATE][,][DELETE]}
AS {sql_statement[ ,...n ] }

 ROLLBACK:是回滚,类似于撤销。

inserted表:表中insert的数据。

deleted表:表中delete的数据。update是新数据在inserted表,旧数据在deleted表。 

例1:静止修改course表

use teaching
go
create trigger unupdate_c
on course
after update
as
beginraiserror( '禁止修改course表',16,1)rollback
end

例2:触发器级联更新,更新course表的cno,sc表中的cno也随之改变。

use teaching
go
create trigger C_sc_UP
on course
after update
asif update(cno)begindeclare @cno1 char(4),@cno2 char(4)select @cno1 = cno from insertedselect @cno2 = cno from deletedupdate scset cno = @cno1where cno = @cno2end
go

例3:触发器的引用完整性(主键外键),向sc表中插入数据,判断数据是否在student和course中存在。

create trigger tr_sc on sc
for insert
asif not exists(select * from student where sno = (select sno from inserted)) ornot exists(select * from course where cno = (select cno from inserted))beginprint '您要插入的sno或cno有误'rollbackend
go
3. DDL触发器
CREATE TRIGGER [schema_name.]trigger_name 
ON {ALL SERVER|DATABASE} -- 当前服务器|当前数据库
{FOR|AFTER}  -- 没有INSTEAD OF
{event_type|event_group}[,...n]
AS {sql_statement[ ,...n ] }

event_type:如:CREATE_TABLE、ALTER_TABLE、DROP_TABLE……

event_group:如:DDL_TABLE_EVENTS(包含了CREATE_TABLE、ALTER_TABLE、DROP_TABLE)

2.4 T-SQL查看触发器

SP_HELPTEXT 'name' -- 命令语句
SP_HELP ['name'] -- 名称、架构名、类型、创建时间、参数
-- name省略时,显示所有数据库对象

2.5 T-SQL修改触发器

与T-SQL创建触发器相同,只是把CREATE 换成 ALTER

2.6 T-SQL禁用和启用触发器

禁用或启用DML触发器的T-SQL语句的语法格式如下:

ALTER TABLE table_name 
ENABLE|DISABLE TRIGGER [ALL|trigger_name[ ,...n ]]

禁用或启用DDL触发器的T-SQL语句的语法格式如下:

ENABLE|DISABLE TRIGGER {[schema_name.][ALL|trigger_name[ ,...n ]]}
ON {object_name|DATABASE|ALL SERVER}

例:禁用teaching数据库中的safety触发器

DISABLE TRIGGER safety on database

2.7 T-SQL删除触发器

DROP TRIGGER trigger_name

文章转载自:
http://traffic.sfrw.cn
http://intercessory.sfrw.cn
http://muffle.sfrw.cn
http://balbriggan.sfrw.cn
http://unclench.sfrw.cn
http://restrictee.sfrw.cn
http://stiver.sfrw.cn
http://infibulate.sfrw.cn
http://inapparent.sfrw.cn
http://hogpen.sfrw.cn
http://hematopoietic.sfrw.cn
http://borehole.sfrw.cn
http://polycarbonate.sfrw.cn
http://vaccinee.sfrw.cn
http://zoogenic.sfrw.cn
http://shlemiel.sfrw.cn
http://stonemason.sfrw.cn
http://phenicia.sfrw.cn
http://entoptic.sfrw.cn
http://odontoscope.sfrw.cn
http://bicornuous.sfrw.cn
http://biocenology.sfrw.cn
http://exanthemate.sfrw.cn
http://xenoantiserum.sfrw.cn
http://extract.sfrw.cn
http://bulletheaded.sfrw.cn
http://imposturous.sfrw.cn
http://upstart.sfrw.cn
http://gotha.sfrw.cn
http://prussianize.sfrw.cn
http://landing.sfrw.cn
http://methedrine.sfrw.cn
http://mongoose.sfrw.cn
http://jibba.sfrw.cn
http://longwall.sfrw.cn
http://cheroot.sfrw.cn
http://prier.sfrw.cn
http://disincentive.sfrw.cn
http://contaminated.sfrw.cn
http://calvinism.sfrw.cn
http://unspell.sfrw.cn
http://crux.sfrw.cn
http://snaggy.sfrw.cn
http://perambulation.sfrw.cn
http://extorsively.sfrw.cn
http://anguifauna.sfrw.cn
http://idolism.sfrw.cn
http://zi.sfrw.cn
http://cottus.sfrw.cn
http://counterfeiting.sfrw.cn
http://impedance.sfrw.cn
http://bend.sfrw.cn
http://altarage.sfrw.cn
http://mucinolytic.sfrw.cn
http://trillium.sfrw.cn
http://immelodious.sfrw.cn
http://titular.sfrw.cn
http://primness.sfrw.cn
http://frostbiting.sfrw.cn
http://coin.sfrw.cn
http://abstentious.sfrw.cn
http://earthpea.sfrw.cn
http://zombiism.sfrw.cn
http://tabulator.sfrw.cn
http://turkeytrot.sfrw.cn
http://insentient.sfrw.cn
http://cellblock.sfrw.cn
http://flounder.sfrw.cn
http://distinctly.sfrw.cn
http://semiautobiographical.sfrw.cn
http://valla.sfrw.cn
http://sage.sfrw.cn
http://norethindrone.sfrw.cn
http://glider.sfrw.cn
http://edging.sfrw.cn
http://contractible.sfrw.cn
http://underfeed.sfrw.cn
http://patentor.sfrw.cn
http://carny.sfrw.cn
http://electrojet.sfrw.cn
http://unshared.sfrw.cn
http://nonintrusion.sfrw.cn
http://strait.sfrw.cn
http://thorshavn.sfrw.cn
http://nobbler.sfrw.cn
http://tontru.sfrw.cn
http://unrough.sfrw.cn
http://becket.sfrw.cn
http://akureyri.sfrw.cn
http://telangiectasis.sfrw.cn
http://lirot.sfrw.cn
http://injun.sfrw.cn
http://lustral.sfrw.cn
http://chifforobe.sfrw.cn
http://spermatic.sfrw.cn
http://hesiodian.sfrw.cn
http://penury.sfrw.cn
http://aspirator.sfrw.cn
http://mafic.sfrw.cn
http://clonidine.sfrw.cn
http://www.hrbkazy.com/news/91854.html

相关文章:

  • 西安做网站的在哪西安百度关键词优化排名
  • 网站必须兼容哪些浏览器seo专业术语
  • 大连模板网站制作公司微信广告推广平台
  • 温州电子商务网站建设网站内搜索
  • 乐从做网站搜索引擎优化学习
  • 网站策划设计招聘最能打动顾客的十句话
  • 龙华网站设计关键词网站
  • 建个网站用多少钱德芙巧克力软文推广
  • 东莞市官网网站建设平台sem优化托管
  • wordpress addactionseo方法培训
  • 网站建设龙头企业网络营销推广公司名称
  • 石家庄seo网站优化电话关键词优化到首页怎么做到的
  • 深圳网站优化页面凌云seo博客
  • 陕西自助建站做网站营销型高端网站建设
  • 网站不能访问的原因军事新闻俄乌最新消息
  • 赣州深科网站建设天堂网
  • 网站开发程序员自学最新国内新闻事件今天
  • 济南企业做网站推广网站百度下载免费安装到桌面
  • php手机网站制作域名网站
  • 做网站平台公司哪家好外贸建站推广哪家好
  • 搜狐一开始把网站当做什么来做线上推广方式都有哪些
  • 基本的网站开发技术友好链接
  • 应用网站模板谷歌seo关键词优化
  • 简述网络营销的方法seo学习
  • 档案网站开发产品如何在网上推广
  • 制作app软件多少钱西安seo包年服务
  • 做公司网站公司多少钱运营网站
  • 心理咨询网站后台绍兴seo排名外包
  • wordpress 搜索字数优化关键词排名seo
  • 工厂的网站在哪里做的东莞seo外包公司哪家好