码迷,mamicode.com
首页 > 数据库 > 详细

SQL server从入门精通---- T-sql基本语句+函数与存储过程

时间:2015-09-16 06:15:11      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

-----------------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,

 

SQL server从入门精通---- T-sql基本语句+函数与存储过程

标签:

原文地址:http://www.cnblogs.com/CodeTaotao/p/4811963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!