大型数据库 实验4 T-SQL程序设计

合集下载

【VIP专享】实验4 T-SQL语言

【VIP专享】实验4 T-SQL语言

实验4 T-SQL语言实验目的:1、掌握Transact-SQL语言中的变量、运算符、函数;2、掌握Transact-SQL语句编写批处理和流程控制程序。

3、掌握游标的创建,打开,数据读取,关闭,销毁的基本方法实验内容和步骤:Transact-SQL语言是在SQL Server 2005 中使用的程序设计语言。

不但包含了标准SQL语言部分,而且为了满足实际应用中的编程需要,在Transact-SQL语言中还另外增加了一些语言要素,它们包括注释、变量、运算符、函数和流程控制语句等。

所有的语句都在查询分析器中执行。

1. Transact-SQL语句实验内容1:返回在程序执行过程中上一条SQL语句影响的记录数(全局变量@@ROWCOUNT),注意观察结果窗口。

use teach--打开teach 数据库GO--查询学生表中的记录SELECT * FROM Student--查询上一条SELECT语句影响的记录数SELECT @@ROWCOUNT AS 第一次查询返回的记录数GO实验内容2:查询学生表的人数,将返回的记录数赋给局部变量@Rows USE teachGODECLARE @Rows int--声明局部变量--给局部变量赋值SET @Rows=(SELECT COUNT(*) FROM Student)--显示局部变量的值SELECT @Rows AS SELECT返回的记录数GO实验内容3:设置一个局部变量为表,进行插入和查询操作-- 定义变量为临时表DECLARE @Table_Example TABLE(Col_num int PRIMARY KEY,Col_text char (50))-- 向该变量中添加两行内容INSERT INTO @Table_Example VALUES (1, 'this is a')INSERT INTO @Table_Example VALUES (2, 'table data typeexample')-- 从临时表中查询SELECT * FROM @Table_ExampleGO实验内容4:(练习,自己试着写一下)设置一个局部变量其值为选修了课程的人数,并显示提示:DECLARE@Rows int--声明局部变量--给局部变量赋值SET@Rows=(SELECT COUNT(distinct sno)FROM SC)--显示局部变量的值SELECT@Rows AS选课人数GO实验内容5:检查sysdatabases中的每一个数据库,使用数据库标识号来确定数据库名称。

大型数据库管理实验报告4

大型数据库管理实验报告4

武汉轻工大学经济与管理学院实验报告实验课程名称大型数据库管理实验起止日期2019.11.5至2019.12.10 实验指导教师程红莉实验学生姓名学生班级学号物流管理1702实验评语实验评分教师签名年月日实验项目名称数据完整性实验日期2019.12.10 学生姓名班级学号物流管理1702一、预习报告(请阐述本次实验的目的及意义)1.熟悉通过SQL对数据进行完整性控制。

2.完成书本上习题的上机练习。

二、实验方案(请说明本次实验的步骤和进程)1.用Constraint和Check建立完整性约束条件教材164页例[7]Student表的ssex 只允许取‘男’或‘女’create table student1(sno char(9) primary key,sname char(8) not null,sex char(2) check(sex in('男','女')),sage smallint,sdept char(20));教材164页例[8]create table sc1(sno char(9),cno char(4),grade smallint check(grade>=0 and grade<=100),primary key(sno,cno),foreign key(sno)references student1(sno),foreign key(cno)references course(cno));教材164页例[7]、例[8](给学生表的性别增加约束条件,即只允许“男”或“女”。

可用语句:alter table student add constraint course1 check(sex in('男','女'))alter table sc add constraint course2 check (score>=0 and score<=100)go2.建立规则,并绑定到表的字段上①建立规则gender,该规则限定变量值(如性别)只能取“男”或“女”,然后绑定到student表的sex字段上create rule gender as @value in('男','女')sp_bindrule gender,'student.sex';②建立规则r_score,该规则规定变量值(如分数)在0到100之间,并将该规则绑定到SC表的score字段上。

数据库设计 - C4 - T-SQL编程

数据库设计 - C4 - T-SQL编程
服务器名称 错误号 座位号(自动编号)
演示:使用全局变量 错误号

T-SQL语言提供程序设计语言类似,主要包括以下几种:

begin…end… if…else case while ... continue...break goto
• • • •
掌握如何定义变量并赋值 掌握如何输出显示数据 掌握IF、WHILE、CASE逻辑控制语句 理解SQL中批处理的概念
变量分为: 局部变量:
局部变量必须以标记@作为前缀 ,如@age 局部变量的使用也是先声明,再赋值
全局变量:
全局变量必须以标记@ @作为前缀,如@@version 全局变量由系统定义和维护,我们只能读取,不能修改全局变 量的值


GO是批处理的标志,表示SQL Server将这些T-SQL语句编译为一个执行 单元,提高执行效率 一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务 需求和代码编写者决定
SQLServer规定:如果是建库、建表语句、以及我们后 面学习的存储过程和视图等,则必须在语句末尾添加 GO 批处理标志
• CASE-END多分支语句
CASE
WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 …… ELSE 其他结果 END
学员成绩表
问题:
采用美国的ABCDE五级打分制来显示笔试成绩。
A级: 90分以上 B级: 80-89分 C级: 70-79分 D级: 60-69分 E级: 60分以下
学员信息表
问题:
编写T-SQL查找李文才的左右同桌 ?
分析:
第一步,找出“李文才“的座位号; 第二步,李文才的座位号加1或减1

参考语句

数据库实验4实验报告

数据库实验4实验报告

淮海工学院计算机工程学院实验报告书课程名:《数据库原理及应用》题目:T-SQL高级应用班级:软件132学号:***********名:***一.目的与要求1.掌握复杂查询的使用方法;2.掌握多表连接的方法;3.掌握SELECT语句在多表查询中的应用。

4.掌握数据汇总、外连接查询的使用方法;5.掌握事务定义的一般方法二.实验内容1.给出教材14-16的程序运行结果。

2.编写程序,查询“1033”班的最高分的学生的学号、姓名、班号、课程号和分数。

3.编写程序,创建一个新表,包含所有学生的姓名、课程名和分数,并以姓名排序。

4.编写程序,输出每个班最高分的课程名和分数。

5.在上次实验建立的factory数据库的基础上,完成如下各题:●删除factory数据库上各个表之间建立的关系;●显示各职工的工资记录和相应的工资小计。

●按性别和部门名的所有组合方式列出相应的平均工资。

●在worker表中使用以下语句插入一个职工记录:insert into worker values(20,’陈立’,‘女’,’55/03/08’,1,’75/10/10’,4),在depart表中使用以下语句插入一个部门记录:insert into depart values(5,’设备处’)。

再对worker和depart表进行全外连接显示职工的职工号,姓名和部门名。

然后删除这两个插入的记录。

●显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。

●显示最高工资的职工所在的部门名。

●显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。

●先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker表中的职工人数,回滚该事务,最后显示worker表中的职工人数。

三.实验步骤删除factory数据库上各个表之间建立的关系的操作步骤如下:①启动SQL Server管理控制器。

②在“对象资源管理器”中展开LCB-PC服务器节点。

数据库原理实验报告-T-SQL编程

数据库原理实验报告-T-SQL编程

XX大学XX学院图1图22、用户存储过程的编辑修改首先创建存储过程select_students, 在此基础上,将该过程更改为检索计算机专业的学生信息,用修改过程命令重新定义该存储过程。

2.1 输入以下代码:alter procedure select_students with encryptionasselect*from Student whereSdept='CS'order by Sno2.2 通过EXEC语句执行存储过程输入语句:EXEC select_students输出结果如下:3、用户存储过程的删除3.1 通过DROP语句删除存储过程输入语句:DROP procedure select_students输出结果如下:二、编写触发器1、在SQL中展开Student_and_Course数据库,在其中选择对应的表,将表展开,在展开的选项中右击“触发器”,在弹出的快捷菜单中选择“新建触发器”命令,在如图3所示的触发器编辑区中给出对应的触发器代码。

2、创建一个名为TR_AGEde1的触发器,要求在插入和更新时检查Student表中Sage是否在15至60之中,如果不在提示“年龄不合法”。

输入语句:CREATE TRIGGER TR_AGEON StudentFOR INSERT,UPDATEASDECLARE@age INTSELECT@age=SageFROM StudentIF@age NOT BETWEEN 15 AND 60BEGINROLLBACK TRANSACTIONRAISERROR ('年龄不合法',16,10)END图33、执行以下更新数据库的SQL代码,将在显示框内显示有关的信息,表示触发了数据表Student中的触发器TR_AGE.输入语句:UPDATE StudentSET Sage=26WHERE Sname='李勇'执行结果如图5:图54、同样,执行以下命令也会触发触发器TR_AGE.输入语句:INSERT INTO Student VALUES('200215128','张博','男',17,'CS') 完成3、4两步的输出结果如图6:图65、查看所创建触发器的详细信息,输入以下代码:USE student_and_courseEXEC sp_helptrigger StudentEXEC sp_helptext TR_AGE执行结果如图7:图7。

大数据的库实验四

大数据的库实验四

实验项目名称:T-SQL程序设计实验学时: 4同组学生姓名:实验地点: b513实验日期: 2012.11.27 2012.12.04实验成绩:批改教师:批改时间:一、实验目的和要求1、掌握T-SQL中运算符和表达式的使用;2、通过对Select的使用,掌握Select语句的结构及其应用;3、掌握T-SQL中几个常用流程控制语句的使用;4、掌握系统内置函数的概念及其应用;5、通过定义和使用用户自定义函数,掌握自定义函数的概念及其应用。

二、实验设备、环境设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。

三、实验步骤1、根据题目要求熟悉SQL Server2005的各种管理工具;2、分析题意,重点分析题目要求并给出解决方法;3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中;4、提交完成的实验结果。

四、实验内容一、SQL查询(*使用SQL Server样例数据库pubs完成)1、简单查询(1)查询所有作者的姓名和作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”表明显示信息是身份证信息;(authors表)(2)改变显示列名。

显示所有作者的姓名信息和作者号信息,要求用“名”和“姓”来区别fname和lname,“作者编号”来区分作者号;(authors表)(3)查询所有书在价格提高10%后的价格和书名信息;(titles表)(4)查询所有书的书号和税后价格。

(titles表,royalty列表示税率);(5)查询所有作者的姓和“名的第一个字符”以及作者号;(authors表,SUBSTRING函数)(6)查询邮政编码大于9000的作者姓名和电话信息;(authors表)(7)查询出版日期在1/1/1991到12/31/1991之间的书名(书名限制为38个字符)和出版日期;(titles 表,SUBSTRING函数)(8)查询书的类型是mod_cook或trad_cook的书名和它的类型;(titles表)(9)查询店名中包含Book的店的信息;(stores表);(10)查询书名以T开头或者出版号为0877,且价格大于16美元的书的信息;(titles表)(11)查询所有作者的所在城市和州名,要求没有重复信息;(authors表)(12)按照类型的升序和价格的降序显示书的信息;(titles表)2、生成汇总数据(1)计算多少种书已被定价;(titles表)(2)计算每本书的书号及它的售书总量;(sales表)(3)求销售量大于30的书号及销售数量;(sales表)(4)显示在1994年1月1日到1994年10月31日间,每本书的销售总额;(sales表,titles表)3、连接查询(1)求每本杂志上刊登的文章;(titles, publishers表)(2)求某书店销售某书的数量;(titles, stores, sales表)(3)查询所有合著的书及其作者。

数据库 T-SQL程序设计 实验报告

实验报告课程名称:数据库原理与应用上机实验名称:T-SQL程序设计专业班级:计算机科学与技术1103 指导教师:卫凡学生姓名:贾梦洁学期:2013-2014学年第一学期实验报告课程名称数据库原理与应用实验名称T-SQL程序设计姓名贾梦洁学号 201107010330专业班级计1103实验日期2013年12月12日成绩指导教师卫凡一、实验目的1.熟练掌握变量的定义和赋值。

2. 掌握各种运算符。

3. 掌握流程控制语句,尤其是条件语句和循环预语句。

二、实验环境硬件环境:PC机软件环境:操作系统为Microsoft Windows 2000或以上版本。

数据库管理系统为Microsoft SQL Server 2000标准版或企业版。

三、实验内容1. 变量的定义与输出。

2. 条件结构的使用。

四、实验步骤1.创建一名为Student_name的局部变量,并在select语句中使用该变量查找“张强”同学所选课程的成绩情况,给出相应的语句段和运行结果。

2.将选修课程号为720的同学的成绩增加3分,同时使用全局变量@@rowcount检查获得更新的数据行数目。

修改前:修改后:4.利用学生_课程数据库中的SC表查找学生的成绩信息并判断是否有某学生的某门课程的成绩在90分以上的信息,若有,则显示学号、姓名、课程名和成绩,否则输出信息,说明“不存在成绩大于90分的学生!”。

5.从学生_课程数据库中查询所有学生选课成绩情况:姓名、课程名、成绩。

要求:将学生的百分制转换为5级评分制,成绩大于等于90显示为“优秀”,成绩在80-89分显示为“良好”,“70-79”分显示为“中等”,成绩在60-69显示为“及格”,60以下显示为“不及格”,没成绩的显示为“未考”。

并且输出记录按下列要求排序:先按学号升序,再按课程号升序,最后按成绩降序。

按学号升序排序:按课程号升序排序:order by SC.课程号按成绩降序排序:order by 成绩 desc6.利用学生_课程数据库中的SC表,编程实现:如果所有学生所有课程的平均成绩高于80分,使用while循环就将每门成绩减5分,然后查找所有学生所有课程中的最高分,如果最高分大于或等于85分,while循环重新启动并再次将每门成绩减5分并继续查找所有学生所有课程中的最高分,一直循环到最高分低于85分循环停止,然后退出。

实验4 T-SQL编程

实验4 T-SQL编程实验目的:1.掌握Transact-SQL中的常用函数2.学习T-SQL基本语法3.掌握存储过程、函数、触发器的创建方法实验要求:1.熟练掌握集合函数、数据转换函数、日期函数的使用2.学会T-SQL基本语法3.掌握存储过程、函数、触发器的创建方法实验环境及学时安排:1.SQL SERVER20052.学时:2学时实验内容:1.系统函数系统函数用于查询系统表。

系统表是SQL Server用来存储关于用户、数据库、表和安全的信息。

常用的系统函数及其含义如下:ISNULL:用指定值替换表达式中的指定的空值;DB_NAME:返回数据库的名称;HOST_ID:返回服务器端计算机的ID号;HOST_NAME:返回服务器端计算机的名称;SUSER_ID:返回服务器用户的安全账户号;SUSER_NAME:返回服务器用户的登录名;USER_ID:返回用户的数据库ID号;USER_NAME:返回用户的数据库用户名;查询帮助完成以下题目:●返回当前登录名和数据库用户名●统计成绩表中数据库课程的平均成绩,空值按0分参与计算。

2.数据类型转换函数●从Teacher表中查询教师的电话号码中的最后8位数字能被13整除的教师信息(提示:由于Mobile为char类型,要先截取字符串的最后8位,再与13求模运算看是否为0)●把当前日期转换为样式1013.日期函数●计算所有学生的平均年龄●分别获取系统当前时间的年、月、日、小时4.数学函数SQL中的数学函数很多,类似于通常所用的数学函数,这里我们仅介绍两个函数RAND ()、ROUND(),以期抛砖引玉。

希望大家在实际中借助于帮助。

●以2为随机数种子产生一随机数●对数字1223.75进行整数的四舍五入和取整5.字符串函数●使用函数RTRIM和LTRIM删除'SQL SERVER ' 和' Example' 字符串中的空格,然后将两个字符串连接起来形成新串。

T-SQL程序设计

T-SQL程序设计T-SQL程序设计一、目的1.通过对SELECT的使用,掌握SELECT 语句的结构及其应用二、要求1.实训前做好上机实训的准备,针对实训内容,认真复习与本次实训有关的知识,完成实训内容的预习准备工作;2.能认真独立完成实训内容;3.实训后做好实训总结,根据实训情况完成总结报告。

三、学时2学时四、操作及流程分析在众多的SQL语句中,SELECT语句是使用频率最高的一个。

SELECT语句主要被用来对数据库进行查询并返回符合用户查询要求的结果数据集。

1、检索单个表中的所有数据当查询没有限制条件时,不需要编写WHERE子名,此时返回或显示表中的所有数据,这是SELECT语句最简单的情况。

例6.1 检索XSQK表中的所有记录数据。

要返回学生情况表(XSQK)中已存在的所有记录数据,可以使用下面的语句实现。

SELECT * FROM XSQK其实现步骤为:(1)进入SQL SERVER查询分析器界面。

在查询分析器上部的“选择数据库”组合中选择XS_KC。

(2)在“查询编辑框”窗口中输入如下SQL语句。

SELECT * FROM XSQK(3)单击工具栏上的查询按钮执行上述SQL语句。

语句执行后,在结果显示窗格中显示每个学生的情况。

如图6.1所示。

例6.5 统计学生情况表(XSQK)表中“计算机0203”的班级有多少人。

要统计“计算机0203”的班级有多少人,可以使用下面的语句实现:SELECT COUNT(*)计算机0203的人数FROM XSQK WHERE 班级=’计算机0203’其实现步骤为:(1)在“查询编辑框”窗口中输入如下SQL语句。

SELECT COUNT(*)计算机0203的人数FROM XSQK WHERE 班级=’计算机0203’(2)单击工具栏上的查询按钮执行上述SQL语句。

语句执行后,在结果显示窗格中显示“计算机0203”的班级人数,如图6.5所示。

图6.5例6.6 统计学生成绩表(XSCJ)表中每门课程的最低分,最高分和平均分。

实验四T-SQL高级查询

实验四 T-SQL高级查询(1)[实验目的]通过本实验掌握使用SELECT语句进行分组与多表连接查询的技能。

[实验内容]1.使用查询设计工具连接至master数据库;2.使用如下SQL语句创建Student、Course和SC数据表:CREATE TABLE Student (Sno CHAR(7) PRIMARY KEY,Sname NCHAR(5) NOT NULL,SID CHAR(18) UNIQUE,Ssex NCHAR(1) DEFAULT '男',Sage TINYINT CHECK(Sage>=15 AND Sage<=45),Sdept NVARCHAR(20) );CREATE TABLE Course (Cno CHAR(6) PRIMARY KEY,Cname NVARCHAR(20) NOT NULL,Credit NUMERIC(3,1) CHECK(Credit>0),Semester TINYINT );CREATE TABLE SC (Sno CHAR(7) NOT NULL,Cno CHAR(6) NOT NULL,Grade TINYINT,PRIMARY KEY (Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno) )并在数据表中加入测试数据。

CREATE TABLE Student (Sno CHAR(7)PRIMARY KEY,Sname NCHAR(5)NOT NULL,SID CHAR(18)UNIQUE,Ssex NCHAR(1)DEFAULT'男',Sage TINYINT CHECK(Sage>=15 AND Sage<=45),Sdept NVARCHAR(20));insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000001','张三',1,'男',20,'计算机')insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000002','张三',2,'男',22,'计算机')insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000003','张三',3,'女',23,'计算机')insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000004','张三',4,'男',23,'计算机')insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000005','张三',5,'女',22,'计算机')insert into Student(Sno,Sname,SID,Ssex,Sage,Sdept)values('000006','张三',6,'男',25,'计算机')CREATE TABLE Course (Cno CHAR(6)P RIMARY KEY,Cname NVARCHAR(20)NOT NULL,Credit NUMERIC(3,1)CHECK(Credit>0),Semester TINYINT);insert into Course(Cno,Cname,Credit,Semester)values('001','计算机基础',3,1) insert into Course(Cno,Cname,Credit,Semester)values('002','C++程序设计',3,2) insert into Course(Cno,Cname,Credit,Semester)values('003','数据结构',3,1) insert into Course(Cno,Cname,Credit,Semester)values('004','Java程序设计',3,2)if(exists(select*from sysobjects where name='SC'and type='U'))DROP TABLE SCCREATE TABLE SC (Sno CHAR(7)NOT NULL,Cno CHAR(6)NOT NULL,Grade TINYINT)insert into SC(Sno,Cno,Grade)values('000001','001',56)insert into SC(Sno,Cno,Grade)values('000001','002',75)insert into SC(Sno,Cno,Grade)values('000001','003',85)insert into SC(Sno,Cno,Grade)values('000001','004',73)insert into SC(Sno,Cno,Grade)values('000002','001',45)insert into SC(Sno,Cno,Grade)values('000002','002',88)insert into SC(Sno,Cno,Grade)values('000002','003',56)insert into SC(Sno,Cno,Grade)values('000002','004',78)insert into SC(Sno,Cno,Grade)values('000003','001',79)insert into SC(Sno,Cno,Grade)values('000003','002',70)insert into SC(Sno,Cno,Grade)values('000003','003',87)insert into SC(Sno,Cno,Grade)values('000003','004',97)insert into SC(Sno,Cno,Grade)values('000004','001',95)insert into SC(Sno,Cno,Grade)values('000004','002',39) insert into SC(Sno,Cno,Grade)values('000004','003',75) insert into SC(Sno,Cno,Grade)values('000004','004',55) insert into SC(Sno,Cno,Grade)values('000005','001',90) insert into SC(Sno,Cno,Grade)values('000005','002',87) insert into SC(Sno,Cno,Grade)values('000005','003',83) insert into SC(Sno,Cno,Grade)values('000005','004',82) insert into SC(Sno,Cno,Grade)values('000006','001',82) insert into SC(Sno,Cno,Grade)values('000006','002',85) insert into SC(Sno,Cno,Grade)values('000006','003',67) insert into SC(Sno,Cno,Grade)values('000006','004',65)3.设计实现如下功能的查询语句:a)返回所有课程的课程号和参加考核(即有成绩)的人数;b)返回所有具有不及格学生的课程号及不及格人数;c)返回所有不及格学生人数大于3人的课程号及不及格人数;d)返回计算机系学生各课程的课程号、不及格人数以及不及格率;e)返回各系有不及格课程的人次数;f)返回各系有不及格课程的人数;3.1select ame,count(*)from dbo.Course as aleft join dbo.SC as b on o=ogroup by ame3.2select ame,count(*)from dbo.Course as aleft join dbo.SC as b on o=owhere b.grade<60group by ame3.3select ame,count(*)from dbo.Course as aleft join dbo.SC as b on o=owhere b.grade<60group by ame having count(*)>33.4select o,ame,isnull(b.fail,0),cast((isnull(b.fail,0)+0.0)/a.total*100 as decimal(8,2))from(select o,ame,count(*)as totalfrom dbo.Course as aleft join dbo.SC as b on o=oleft join dbo.Student as c on b.sno=c.snogroup by o,ame)as aleft join(select o,ame,count(*)as failfrom dbo.Course as aleft join dbo.SC as b on o=oleft join dbo.Student as c on b.sno=c.snowhere b.grade<60group by o,ame)as b on o=o3.5select sdept,count(*)from student as aleft join sc as b on a.sno=b.snowhere b.grade<60group by a.sdept3.6select sdept,count(DISTINCT a.sno)from student as aleft join sc as b on a.sno=b.snowhere b.grade<60group by a.sdept3.7select sno,sname,(select grade from sc where cno=(select cno from course where cname='计算机基础')and sno=student.sno)as计算机基础,(select grade from sc where cno=(select cno from course where cname='C++程序设计')and sno=student.sno)as [C++程序设计],(select grade from sc where cno=(select cno from course where cname='数据结构')andsno=student.sno)as数据结构,(select grade from sc where cno=(select cno from course where cname='Java程序设计')and sno=student.sno)as Java程序设计from student。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、常用函数的使用
(1)计算从1980年01月01号到当前日期的天数、月数及年数:
(2)计算当前日期加上100天之后的日期:
(3)将日期2009/10/26转换为2ቤተ መጻሕፍቲ ባይዱ09年10月26日的字符串:
(4)用函数计算字符串‘I am a teacher.’的长度,并使用函数将“student”替换为“teacher”:
3)循环结构的使用
查询员工的基本信息,要求列出员工的职工号,姓名,部门编号,部门,工资,而对工资不是直接显示具体数值,而是进行替换,显示工资级别。1000到1200的,为一级工资,1200到1500的是二级工资,1500到2000的是三级工资,2000到2700的是四级别工资,2800到3700的是五级别工资,高于3700的为高级。
3、查询员工的基本信息,要求列出员工的职工号,姓名,部门编号,部门,工资,而对工资不是直接显示具体数值,而是进行替换,显示工资级别。1000到1200的,为一级工资,1200到1500的是二级工资,1500到2000的是三级工资,2000到2700的是四级别工资,2800到3700的是五级别工资,高于3700的为高级:
⑤用函数求“You are a student”字符串中,从11开始,长度为7的子串。
二.测试数据与实验结果
1、声明两个字符变量:@i1和@i2,然后将它们转换为整形变量,对@i1赋初值:10,@i2的值为:@i1的值乘以5,再显示@i2的结果,执行程序显示结果:
2、查询某个部门员工参与的项目,如果该部门没有人参与任何项目,就在员工项目表中增加该部门最少一人去参与项目。否则不在该表中增加该部门人员。同时在员工表中对参与项目的员工工资增加200,以上增加和修改要求通过显式事务实现,如果成功提交,否则回退,执行程序显示结果:
(5)用函数求“You are a student”字符串中,从11开始,长度为7的子串:
三.实验总结
本实验使我学会了SQL Server 2008中T-SQL程序设计的一些简单应用,目前觉得编写这些程序有些吃力,希望以后再这方面的运用会更加的熟练。
一.实验内容
1)变量的使用
声明两个字符变量:@i1和@i2,然后将它们转换为整形变量,对@i1赋初值:10,@i2的值为:@i1的值乘以5,再显示@i2的结果。执行程序显示结果。
2)分支结构的使用
查询某个部门员工参与的项目,如果该部门没有人参与任何项目,就在员工项目表中增加该部门最少一人去参与项目。否则不在该表中增加该部门人员。同时在员工表中对参与项目的员工工资增加200,以上增加和修改要求通过显式事务实现,如果成功提交,否则回退。执行程序显示结果。
要求按部门编号循环分批处理显示。执行程序显示结果。
4)常用函数的使用
①计算从1980年01月01号到当前日期的天数、月数及年数。
②计算当前日期加上100天之后的日期。
③将日期2009/10/26转换为2009年10月26日的字符串。
④用函数计算字符串‘I am a teacher.’的长度,并使用函数将“student”替换为“teacher”。
相关文档
最新文档