SQL server从入门精通---- T-sql基本语句+函数与存储过程
-----------------T_SQL------------------------------ --1.全局变量------------------------------------- print @@identity --最后一次插入的标识值 print @@language --当前使用语言 print @@version --版本号 print @@servername--服务名 --2.自定义变量 ----1.声明用declare declare @i int,@j int declare @sum int ----2.赋值set,select set @i=10 select @j=20 --把i与j的值加起来,并打印 set @sum=@i+@j print @sum --把最低分查找出来,打印 ------while 循环语句 declare @stat int,@end int,@count int set @end=10 set @count=0 set @stat=0 while(@stat<=@end) begin --里面可以执行任何语句 set @count=@stat+@count set @stat=@stat+1 insert into t_buyer(baid) values(@count) end print @count ------------定时命令------------------ waitfor delay '00:00:3'--延时3秒执行 print '3..2..1 go!' Select CONVERT(varchar(100), GETDATE(), 24) waitfor time '11:40:56' --10:57:47 --到时执行 print 'hell0!' -------case语句 --用法1 select case when len(bquertion)>0 then '有值' else '没值' end,* from t_buyer select * ,等级=case when score>80 then '优秀' when score>=60 then '良好' else '不及格' end from Grade --用法二 select *,称呼=case sex when '男' then '大帅哥' else '小美女' end ---函数 create function fn_Sum (---参数列表 @aa int , @bb int ) returns int --指定返回类型 as begin --方法体 declare @s int set @s=@aa+@bb return @s end declare @x int set @x =dbo.fn_Sum(10,20) print @x -------------------动态执行------------------- declare @sql varchar(400) set @sql='select * from student' -----将字符串当做sql server 中的语句来执行 exec(@sql)-------只要@sql中的语句符合sql的语法就可以 --存储过程 --无参存储过程 create proc up_print as print 1 go --带参函数 create proc up_print1 --(在sql中存储过程不能同名) @str nvarchar(20) as print @str go exec up_print exec up_print1 '你好啊' --带输出参数的存储过程 create procedure up_print2 @xing nvarchar(1), @ming nvarchar(5), @rtn nvarchar(6) output as set @rtn=@xing+@ming go declare @rtn nvarchar(6) exec up_print2 '李','涛',@rtn output print @rtn ----写一个新增学生的存数过程up_insertStu if (OBJECT_ID('up_insertStu','p'))is not null drop proc up_insertStu go create proc up_insertStu @stuname varchar(20), @sex varchar(2), @stuno varchar(40), @birthday datetime, @remark text as begin try declare @id int --1.插入数据 insert into student values(@stuname,@sex,@stuno,@birthday,@remark) --2.为刚才这个的、学生添加一个英语随机分数 set @id =@@IDENTITY insert into grade values('英语',RAND()*100,@id) end try begin catch print '执行出错,违反约束,错误号:'+convert(varchar,@@error) end catch go ---------------------------------调用---------------------------------- exec up_insertStu '涛涛','男','2014140208','1991-1-1','无'