1、函数:不能改变任何数据,只能给一个数据,返回数据,即查询功能
2、触发器:存储过程中自动执行(系统已不用,项目开发部还是在用),e开头的都是带触发器的视图。
3、定义变量:(不加@,即为游标)
--变量在若干情况下需要初始化declare @i varchar(2000)set @i=''select @i=@i+username+';' from myUser where UserName is not nullprint @i
4、定义表变量:
DECLARE @变量名 TABLE(列名1 类型,列名2,类型……)DECLARE @CstTemp TABLE ( CstGUID varchar(40), CstName varchar(10))
5、临时表:
使用select into,存在内存不用需要dorp掉 ,表名前加#select identity(int,1,1)as id, buguid,buname into #t from mybusinessunit
6、循环表:
declare @i intselect @i=count(*) from #tdeclare @j intset @j=1declare @s varchar(2222)while @j<=@i begin select @s=buname from #t where id=@j print @s set @j=@j+1 end
7、exec执行sql:使用程序拼出sql
exec('declare @i int set @i=5 print @i')
8、表函数:
create function f1(@a int,@b int)returns intasbegin return @a+@bendprint dbo.f1(2,3)
9、视图:(里面不允许使用 * 号),视图的增删改需要使用触发器
select view sasselect 字段 from biaoif OBJECT_ID('te') is not nulldrop view tegocreate view te as ....
10、存储过程:
alter proc p1 (@i int=1 ,@j int output)as begin set @j=@ienddeclare @j1 intexec p1 2,@j1 OUTPUTprint @j1