尽管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