当前位置:Gxlcms > 
数据库问题 > 
SQL server从入门精通---- T-sql基本语句+函数与存储过程
                     
                    
                        SQL server从入门精通---- T-sql基本语句+函数与存储过程
                        
                            时间:2021-07-01 10:21:17
                            帮助过:3人阅读
							                        
                     
                    
                    
                    ---------------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基本语句+函数与存储过程
标签: