Heim  >  Artikel  >  Datenbank  >  sqlserver中常见的操作

sqlserver中常见的操作

WBOY
WBOYOriginal
2016-06-07 16:19:281106Durchsuche

create database Personnel_training_dbgouse Personnel_training_dbgo create table dept( deptid int primary key identity(1,1), deptname varchar(20) not null, remark varchar(20) not null )go select * from dept insert into dept values('教职部',

create database Personnel_training_dbgouse Personnel_training_dbgo

create table dept(

deptid int primary key identity(1,1),   deptname varchar(20) not null,

remark varchar(20) not null

)go

select * from dept

insert into dept values('教职部','')

--1.创建存储过程  查询

create proc proc_dept@deptname varchar(20)asselect * from dept where deptname=@deptnamego--执行存储过程exec proc_dept '教职部'

 

 

--2.存储过程 查询create proc proc_dept2@deptname varchar(20)as exec('select * from dept where deptname='''+@deptname+'''')goproc_dept2 '教职部'

 

 

 

--存储过程 添加create proc proc_add_dept@deptname varchar(20),@remark varchar(20)asinsert into dept values(@deptname,@remark)goexec proc_add_dept '教职部','你懂得'

 

 

--存储过程删除create proc proc_del_deptid@deptid varchar(20)as    exec('delete from dept where deptid in('+@deptid+')')goproc_del_deptid '1,2'

 

 

--查询create proc proc_like_query_dept@deptname varchar(20),@remark varchar(20)as if @deptname '' and @remark ''  begin   select * from dept where deptname=@deptname and remark=@remark  end     else if @remark !='' and @deptname=''   begin   select * from dept where remark=@remark end else if @deptname!='' and @remark=''    begin   select * from dept where deptname=@deptname end else    begin   select * from dept  end goexec proc_like_query_dept '',''

 

 

--带输出参数create proc proc_set@deptid int outputas select @deptid= deptid from dept where deptname='学术部' and remark='这个不能还有点意思'go--定义输出参数变量declare @deptid int --执行输出参数 多个后面加逗号隔开exec proc_set @deptid output--输出获取的deptidprint '获取的deptid是:'+ convert(varchar(10),@deptid)

 

--带有返回值的存储过程create proc proc_returnas declare @deptcount int --查询总条数 select @deptcount=COUNT(*) from dept return @deptcountgodeclare @deptcount intexec @deptcount=proc_return print '总条数是:'+convert(varchar(10),@deptcount)

 

--条件 查询create proc proc_query_like@like varchar(20)as--动态的构造sql语句declare @sql varchar(1024) set @sql='select * from dept where 1=1' set @sql=@sql+' and deptname like ''%'+@like+'%'''  set @sql=@sql+'or remark like ''%'+@like+'%'''  print @sql  exec(@sql)goproc_query_like '了'

--创建视图/*1、视图view        (1)G            视图是由一张或多张表的列组成的数据集,是一个虚拟表,也就是说:它不是以存储数据的         方式存在的,而存储的是一个查询的SQL语言。        (2)为什么使用视图           一方面:视图可以隐藏一些数据,限制用户只能存取表内特定的列。           另一方面:将复杂的SQL语句封装起来,便于理解和查询。        (3)如何创建视图            语法:             create view 视图名称             as               SQL语句             go         (4)删除视图              if exists(select * from sysobjects where)                   drop view 视图名              go

        (5)优点 P115            视点集中:用户只能看到自己感兴趣的内容,而看不到所引用表的其他数据,提高了数据的安全性。            简化操作:视图隐藏了表与表之间的关联查询,只用一条简单的查询视图语句就可以搞定。            定制数据:视图可以让不同的用户以不能的方式看到不同或相同的数据。            合并分割数据:            安全性:可以向表一样授予访问权限。是一种安全机制。

        (6)注意项:             一个视图只能包含一条SQL语句。即用一个视图获得多个结果集是不行的。             视图同样可以进行增、删、改、查的操作,修改后的数据基础表同步更新。*/create  view view_deptasselect * from deptgoselect * from view_dept

--索引

/*

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:SQL Server 2008 连接JDBC图文Nächster Artikel:mysql中的coalesce用法