编辑: 贾雷坪皮 | 2016-03-05 |
'
AS …..―SQL语句GO调用存储过程:EXEC proc_openAccount '
李四'
,'
321245678912345678'
, '
0478-44443333'
,1,'
定期'
难点分析-5 存储过程部分1: 存储过程的参数 有默认值的参数,放在最后 创建存储过程: CREATE PROCEDURE proc_randCardID @randCardID char(19) OUTPUT …SELECT @r=RAND (随机种子 ) 例如:0.
08233262 3215 ….. set @randCardID =….SUBSTRING(@tempStr,3,4)…..GO 调用存储过程:DECLARE @mycardID char(19)EXECUTE proc_randCardID @mycardID OUTPUT 难点分析-6 存储过程部分2: OUTPUT表示传出的参数 产生0-1的随机数 截取小数点后8位作为卡号的后八为数卡号(4位一组,用空格隔开):1010
3576 0823
3262 调用带output输出参数的存储过程 字符串截取函数 阶段划分 第一阶段(30分钟) 利用Visio设计数据库的E-R图第二阶段( 50分钟) 利用SQL语句实现建库、建表、加约束、建关系第三阶段(30分钟) 利用SQL语句插入测试数据、模拟常规业务操作 第四阶段(30分钟) 利用SQL语句创建索引和视图第五阶段(60分钟) 利用SQL语句创建3个存储过程并测试 第六阶段(30分钟) 利用SQL语句创建转账事务并测试 第七阶段(20分钟) 利用SQL语句创建系统维护帐号并授权 第一阶段 第一阶段(30分钟) 利用Visio设计数据库的E-R图要求学员自己动手操作,教员巡视,解答学员提出的问题 阶段检查 针对第一阶段抽查学员的操作结果教员给出点评或集中演示难点部分 第一阶段结果演示1 第一阶段操作的结果: 第二阶段 第二阶段(50分钟) 利用SQL语句实现建库、建表、加约束、建关系要求学员自己动手编写SQL语句,教员巡视,解答学员提出的问题 阶段检查 针对第二阶段抽查学员的编码结果教员给出点评或集中演示难点部分 第二阶段标准代码演示-1 建库 IF exists(SELECT * FROM sysdatabases WHERE name='
bankDB'
) DROP DATABASE bankDBGOCREATE DATABASE bankDB ON ( NAME='
bankDB_data'
, FILENAME='
d:\bank\bankDB_data.mdf'
, SIZE=3mb, FILEGROWTH=15% ) LOG ON (….. 检验数据库是否存在,如果为真,删除此数据库 创建建库bankDB 第二阶段标准代码演示-2 建表: USE bankDBGOCREATE TABLE userInfo --用户信息表 ( customerID INT IDENTITY(1,1), customerName CHAR(8) NOT NULL, PID CHAR(18) NOT NULL, telephone CHAR(13) NOT NULL, address VARCHAR(50))GO CREATE TABLE cardInfo --银行卡信息表( cardID CHAR(19) NOT NULL, curType CHAR(5) NOT NULL, savingType CHAR(8) NOT NULL, openDate DATETIME NOT NULL, openMoney MONEY NOT NULL, balance MONEY NOT NULL, pass CHAR(6) NOT NULL, IsReportLoss BIT NOT NULL, customerID INT NOT NULL) CREATE TABLE transInfo --交易信息表( transDate DATETIME NOT NULL, transType CHAR(4) NOT NULL, cardID CHAR(19) NOT NULL, transMoney MONEY NOT NULL, remark TEXT )GO 第三阶段 第三阶段(30分钟): 利用SQL语句实现插入测试数据、常规业务操作 要求学员自己动手操作,教员巡视,解答学员提出的问题 阶段检查 针对第三阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评 第三阶段标准代码演示-1 张三和李四开户: SET NOCOUNT ON --不显示受影响的条数信息INSERT INTO userInfo(customerName,PID,telephone,address ) VALUES('
张三'
,'
123456789012345'
,'
010-67898978'
,'
北京海淀'
)INSERT INTO cardInfo(cardID,savingType,openMoney ,balance,customerID) VALUES('