>  기사  >  데이터 베이스  >  sqlserver中常见的操作

sqlserver中常见的操作

WBOY
WBOY원래의
2016-06-07 16:19:281106검색

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

--索引

/*

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.