sql server 存储过程,触发器,事务

本文详细介绍了SQL Server中的Transact-SQL语言特性,强调了存储过程和触发器的重要作用以及事务在数据库完整性中的角色。存储过程提高了执行效率,减少了网络流量,提供了安全机制;触发器用于加强数据完整性,实现级联操作。同时,文章讨论了事务的ACID属性和事务管理,包括显式与隐式事务。
摘要由CSDN通过智能技术生成

尽管sql server 提供了使用方便的图形化用户界面,但是各种功能的实现基础是 transact-sql 语言.
transact-sql语言直接来源于sql语言,因此也具有sql语言的几个特点:
- 一体化的特点 transacpt-sql 语言集数据定义语言,数据操纵语言,数据控制语言和附加语言为一体,其中附加语言元素不是标准的sql语言的内容,但是它增强了用户对数据库操作的灵活性和便捷性.
- 两种使用方式,统一的语法结构.即联机交互式,和嵌入高级语言使用方式
- 高度非过程化,transact-sql 语言一次处理一个记录,对数据提供自动导航,允许用户在高层的数据结构上工作,可操作记录集而不是对单个记录进行操作.所有的sql语句接受集合作为输入,返回集合作为输出,并允许一条sql语句的结果作为另一条sql语句的输入.
- 类似于人的思维习惯,容易理解和掌握.
接下来的是 transact-sql 附加语言,这些语言元素不是sql语言的标准内容,而是为了编程方便而增加的语言元素,包括,变量,运算符,函数,流程控制语句,注释等.

为了以下语句演示能够进行,先建立三个表作为参考:

CREATE DATABASE TEST;

USE TEST
----------------建------------表------------------------
    CREATE TABLE student
    (   
        sname CHAR (20)PRIMARY KEY ,
        age INT 
    )

    CREATE TABLE course
    (
        cname CHAR(20) PRIMARY KEY ,
        gpa INT 
    )

    CREATE TABLE sc
    (
        sname CHAR (20) FOREIGN KEY REFERENCES student(sname),
        cname CHAR(20) FOREIGN KEY REFERENCES course(cname),
        grade INT ,
        PRIMARY KEY (sname,cname)
    )
----------------数------------据----------------------
INSERT INTO student VALUES('赵日天',19)
INSERT INTO student VALUES('龙傲天',20)
INSERT INTO student VALUES('叶良辰',18)
INSERT INTO student VALUES('花美景',17)
SELECT * FROM student 

INSERT INTO course VALUES('计算机导论',2)
INSERT INTO course VALUES('数字逻辑',3)
INSERT INTO course VALUES('数据结构',5)
INSERT INTO course VALUES('数据库',5)
INSERT INTO course VALUES('C语言',6)
SELECT * FROM course

INSERT INTO sc VALUES ('赵日天','计算机导论',85)
INSERT INTO sc VALUES ('赵日天','数字逻辑',84)
INSERT INTO sc VALUES ('叶良辰','计算机导论',88)
INSERT INTO sc VALUES ('叶良辰','数据结构',89)
INSERT INTO sc VALUES ('花美景','计算机导论',92)
INSERT INTO sc VALUES ('花美景','数据库',85)
INSERT
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值