SQL入门经典 之脚本和批处理

Posted AIの海雅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL入门经典 之脚本和批处理相关的知识,希望对你有一定的参考价值。

什么是脚本。我们前面学的CREATE TABLE <table name> ,USE <database name>这些都是脚本,为什么用脚本。脚本存储到文件中并且可以重复利用和提取的文件。

创建变量: DECLARE语句最常用的语法: DECLARE @<variable name> <variable type>[=value][[,@<variable name> <variable type>[=value]@<variable name> <variable type>[=value],[.....n]];

复制代码
DECLARE @TotalCount int=0 --创建变量,并初始化值(sql server2008以下数据库报错)
select @TotalCount --输出0
SET @TotalCount=10--设置变量值为10
select @TotalCount --输出10
select @TotalCount=count(*) from dbo.test003
select @TotalCount --输出5

也可以创建TABLE。
DECLARE @temp Table
(
  ID  int identity(1,1) primary key,
  name  nvarchar(20) not null
)
insert into @temp values(\'test_1\');
insert into @temp values(\'test_2\');
select * from @temp
结果:下面截图
复制代码

使用流程控制语句:

先创建数据表

复制代码
USE panda
GO

CREATE TABLE test004
(
  ID  INT identity(1,1)  primary key,
  name  nvarchar(20) not null,
  typeint  int  
)
复制代码

 

if....else:基本语法IF<boolean Expression><SQL statement>|BEGIN <code series> END [ELSE <SQL statement>|BEGIN <code series> END]其中的表达式几乎可以是任何布尔表达式.

复制代码
declare @count int 
set @count=0;
while(@count<100)
begin
 set @count=@count+1;
   if(@count%4=0)
      insert into dbo.test004 values(\'test_\'+convert(nvarchar(20),@count),0);
   else
     insert into dbo.test004 values(\'test_\'+convert(nvarchar(20),@count),@count%4);
end
复制代码

多条语句 :

复制代码
if(boolen expression)
begin
    --语句1
    --语句2
    --语句3
end  --多条语句绑在一起成一条语句
复制代码

case:基本语法: CASE<input expresstion> WHEN <when expression> THEN <result expression>[.....][ELSE <result expression>] END

复制代码
SELECT  ID,name, [state]= CASE typeint%4
 when 1 then \'发货\'
 when 2 then \'签收\'
 when 3 then \'退货\'
 ELSE
   \'未知\' END
 FROM dbo.test004
复制代码

while 基本语法:WHILE <Boolen expression>|<sql statement> [begin <statement block>[break]<sql statement>|<statement block>[CONTINUE] end];

BREAK 是强制结束循环。CONTINUE 重新回到起点,停止当前循环。

复制代码
declare @count int 
set @count=0;
while(@count<100)
begin
 set @count=@count+1;
 insert into dbo.test004 values(\'test_\'+convert(nvarchar(20),@count),@count/4)
end
复制代码

waitfor : 基本语法:WAITFOR DELAY< \'time\'> |TIME <\'time\'>

DELAY 参数指定等待的时间段,不能指定天数-只能指定小时数、秒数、允许延迟最长时间为24小时。因此,如下语句。WAITFOR DELAY \'24:00\'将运行WAITFOR 语句前的任何代码。然后达到waitfor语句停止24小时,之后继续执行下一条语句。

TIME 参数参数指定等待的时间段,不能指定日期,只能是24小时制某个时间,同样最长延迟时间也是一天。因此,如下语句。WAITFOR TIME \'00:00\'将运行WAITFOR 语句前的的任何代码,直到凌晨0点停止执行。之后执行waitfor语句后下一条代码。

结束语:因为知识有限,还加上初学者,这章博客写的不怎么好,以后有时间在修改。和重新写,有写地方描述着不怎么清晰。。。以后会更新。。。下一章博客是存储过程。

以上是关于SQL入门经典 之脚本和批处理的主要内容,如果未能解决你的问题,请参考以下文章

SQL入门经典之存储过程

SQL入门经典 之存储过程

SQL入门经典之创建和修改数据表

SQL入门经典之创建和修改数据表

SQL入门经典 之事务

SQL入门经典之数据库基本查询添加更新和删除