以下的文章主要向大家讲述的是SQL Server数据库中的9个简单示例,假如你在实际操作中遇到SQL Server数据库应用中的一些问题但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友。
SQL Server的简单示例:
1、首先,建立一个表,然后通过存储过程往该表中插入100条记录
以下是引用片段:
- create table teachers(id int primary key not null identity(10000,100),
- tea_name varchar(50), tea_age int default 20) create procedure insert1000teachers as declare
- @tea_name varchar(50) declare @tea_age int declare @index int declare
- @count int set @index=1 set @count=100 while @index<@count begin set @tea_age=30*rand() set
- @tea_name='teacher' set @tea_name=@tea_name+convert(varchar,@index)
- insert into teachers(tea_name,tea_age) values(@tea_name,@tea_age) set @index=@index+1 end
2、创建数据库
以下是引用片段:
- create database test1 on primary ( name=t1_dat,
- filename='d:test_database1t1_dat.mdf', size=1, filegrowth=15%, maxsize=50 ),
- ( name=t2_dat, filename='d:test_database1t2_dat.ndf', size=1, maxsize=UNLIMITED, filegrowth=1 ) log>
3、增加一个数据文件到指定的数据库
以下是引用片段:
- alter database test1 add file ( name=t3_dat, filename='d:test_database1t3_dat.ndf', size=1, maxsize=UNLIMITED, filegrowth=1 )
4、SQL Server数据库之增加组
以下是引用片段:
- alter database test1 add filegroup filegroup1
5、增加一个数据文件到指定的组
以下是引用片段:
- alter database test1 add file ( name=t4_dat, filename='d:test_database1t4_dat.ndf' ) to filegroup filegroup1
6、对象重命名
更改字段名:
- sp_rename 'teachers.tea_name','tea_name1','column'
更改表名:
- sp_rename 'dbo.teachers','teachers1'
7、查看存储过程的内容:
- sp_helptext insert1000teachers
8、采用存储过程实现:根据存储过程中的内容,查找存储过程的名字
以下是引用片段:
- create procedure getProcedureByBodyWords @patpro varchar(100),
存储过程中的任意内容 @proname varchar(50) --存储过程的部分或者全名,或者为
- null as begin select name from sysobjects where id in (select id from syscomments where text like '%'+@patpro+'%')
- and name like case when @proname is null then '%' else '%'+@proname+'%' end end
如有存储过程名为insert1000teachers,操作如下可得其全名
- exec getProcedureByBodyWords 'insert','insert1000'
9、采用触发器备份数据表中的数据:
建立测试数据表:
一个用于插入数据,test3
另一个作为备份,test3_bak
以下是引用片段:
- create table test3(id int primary key not null identity(1,1),uname varchar(20),uage int);
- create table test3_bak(id int primary key not null identity(1,1),bid int,uname varchar(20), uage int,active char(1));
编写备份用的触发器,只有更新或者是插入的时候才触发
以下是引用片段:
- alter trigger test3_bak_insert_update on test3 for insert,update as declare
- @id int declare @uname varchar(20) declare @uage int begin select @idid=id,@unameuname=uname,
- @uageuage=uage from inserted if @id<>0 begin update test3_bak set active='0' where bid=
- @id insert into test3_bak(bid,uname,uage,active) values(@id,@uname,@uage,'1') end end
测试数据:
以下是引用片段:
- insert into test3(uname,uage) values('FLB',20) insert into test3(uname,uage)
- values('FLB1',21) insert into test3(uname,uage) values('FLB2',22) update test3 set uage=
- 100 where id=27 delete from test3 where id=20
大家可自己采用下面的查询踪两个表的数据变化:
以下是引用片段:
- select * from test3 select * from test3_bak
以上的相关内容就是对SQL Server数据库的几个简单示例的介绍,望你能有所收获。
【编辑推荐】
- SQL Server 分布式事务的概念与包括事物
- SQL Server 数据库给CPU分配线程的操作流程
- SQL Server主键列的正确查看方式
- SQL Server删除群集的实例演示
- 对SQL Server数据库与XML支持的正确理解