sql创建练习库2存储过程
2014-12-31 17:46
274 查看
------------------------------------------- --------------创建数据库------------------- USE master GO IF EXISTS(SELECT * FROM sys.databases WHERE name = 'testDB') DROP DATABASE testDB GO CREATE DATABASE testDB GO ------------------------------------------- ----------------创建表--------------------- USE testDB IF EXISTS(SELECT * FROM sys.objects WHERE name = 'testTable') DROP TABLE testTable GO CREATE TABLE testTable ( tNum int IDENTITY(1,1) PRIMARY KEY, tName varchar(20) NOT NULL, tBirthDay date CHECK(tBirthDay < GETDATE() AND tBirthDay > '1914-1-1'), tAddress varchar(30) DEFAULT 'No Record', tID char(18), tSex char(1) CHECK(tSex = 'F' or tSex = 'M' or tSex = '?'), tDrop money, --CONSTRAINT tCon UNIQUE (tID) ) GO ALTER TABLE testTable DROP COLUMN tDrop ALTER TABLE testTable ADD tBalance int DEFAULT 0 GO --字典表1 USE testDB IF EXISTS(SELECT * FROM sys.objects WHERE name = 'nameDir') DROP TABLE nameDir GO CREATE TABLE nameDir ( nID int NOT NULL PRIMARY KEY, fName varchar(4), lName1 char(2), lName2 char(2), ) GO INSERT INTO nameDir VALUES(0,'赵',' ','龙') INSERT INTO nameDir VALUES(1,'钱','明','天') INSERT INTO nameDir VALUES(2,'孙','小','杰') INSERT INTO nameDir VALUES(3,'李','建','宝') INSERT INTO nameDir VALUES(4,'周','龙','明') INSERT INTO nameDir VALUES(5,'吴','思','芬') INSERT INTO nameDir VALUES(6,'郑','文','灵') INSERT INTO nameDir VALUES(7,'王','伊','茜') INSERT INTO nameDir VALUES(8,'陈','玲','雪') INSERT INTO nameDir VALUES(9,'唐',' ','玉') ------------------------------- ---------随机生成信息表-------- --方式一:储存过程 IF EXISTS(SELECT * FROM sys.objects WHERE name = 'proRomName') DROP PROC proRomName GO CREATE PROC proRomName @name varchar(20) output AS --DECLARE @name varchar(20) DECLARE @rnum int DECLARE @tnum int SET @rnum = CAST(floor(RAND() * 1000) AS int) --区别于case SET @name = (SELECT fName FROM nameDir WHERE nID = @rnum / 100) SET @tnum = (@rnum / 10) % 10 IF(@tnum != 0 AND @tnum != 9) BEGIN SET @name = @name + (SELECT lName1 FROM nameDir WHERE nID = @tnum) END IF(@tnum < 5) BEGIN SET @tnum = (@rnum % 10) /2 SET @name = @name + (SELECT lName2 FROM nameDir WHERE nID = @tnum/2) SET @tnum = 1 END ELSE BEGIN SET @tnum = (@rnum % 10)/2 + 5 SET @name = @name + (SELECT lName2 FROM nameDir WHERE nID = @tnum) SET @tnum = 2 END GO USE testDB GO DECLARE @i int SET @i = 0; DECLARE @n varchar(20) WHILE @i < 500 BEGIN EXEC proRomName @n output INSERT INTO testTable (tName) VALUES (@n) SET @i = @i + 1 END SELECT * FROM testTable --SELECT * FROM nameDir
相关文章推荐
- ReportView如何使用构造SQL语句带参数的存储过程创建报表以及为rdlc传递参数
- 利用SQL存储过程创建交叉表
- 2.SQL存储过程创建[转]
- .Net_06_创建存储过程的基本语法(Sql 语句)
- T-SQL存储过程创建PDF格式文件(报表)
- SQL存储过程测试——创建测试用例以及测试结果存储
- sql 创建多表删除的存储过程
- SQL存储过程创建及事务处理
- T-SQL 存储过程创建 PDF 格式文件报表
- SQL 存储过程创建与使用
- SQL存储过程测试(4)——创建T-SQL测试套件
- SQL存储过程测试(2)——创建测试用例以及测试结果存储
- PL/SQL 创建带输入参数的存储过程和循环语法
- SQL创建数据库、表、存储过程及调用
- T-SQL 存储过程创建 PDF 格式文件(报表)
- SQL 存储过程创建与使用
- 如何使用 Visual Studio .NET 工具创建数据库对象和 Transact-SQL 存储过程。
- 导出文件成sql形式,创建表格之前,判断某表格是否存在,创建临时存储过程删除表格,之后再删除存储过程
- pl sql developer中如何调试存储过程以及调试包中创建的存储过程
- mysql,dos下执行SQL语句创建存储过程出错ERROR 1064 (42000):