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