1.sql是一种脚本语言
2.sql可写脚本程序,但最重要的作用发挥在对数据库的操作上
3.sql server2005中的注释有两种/***/多行注释,--可以单行注释
4.sql中的自定义变量以@开头,系统变量以@@开头
5.sql中声明变量和VB类似,使用declare声明变量如:declare @i int,@j int,此语句声明了2个整形变量@i和@j
6.sql中的数据类型和数据库中的类型一样,注意区别char(固定Ascii编码长度的字符),varchar(可变的ascii编码长度),nchar(固定的unicode编码)和nvarchar(可变的unicode编码)这几个类型
比如:
declare @ s1 char(10)
declare @s2 varchar(10)
如果给以上2个变量都赋值abc,则写进数据库时,@s1写的就是abc+7个空格,而@s2写的只是abc
再比如:declare @s1 varchar(4),@s2 nvarchar(4),
set @s1='中国’正确,但set @s1=“中国人'错误 ,@s1最多可以放4个字符或2个汉字(一个汉字占2个字符)
而@s2可以最多可以放8个字符或4个汉字(这也就体现了ascii和unicode编码的区别)
7.sql中有if条件判断,无swith判断,但又case...when(较少用)
8.循环使用while,无for
9.循环体用begin开始,end结束
以下是我的学习笔记,语法部分有注释说明:(实现环境:sql server2005)
/******************************
sql脚本语言学习(1)
******************************/
--(1)
--计算1+2+3+...+100的和
declare @i int--声明一个整型变量,自定义变量均以@开头,系统变量由@@开头
declare @sum int--sql中声明变量类似VB :dim i as int
set @i=100--对变量赋初值时使用set或select(查询时赋值)
set @sum=0
while(@i>0)--sql中没有for循环,循环体使用begin开始 end结束,类似VB
begin
set @sum=@sum+@i
set @i=@i-1
end
print @sum--输出语句用print
--(2)打印三角形
/****************************************
* 2*1-1 4
*** 2*2-1 3
***** 2*3-1 2
******* 2*4-1 1
********* 2*5-1 0
****************************************/
declare @i int, @j int--控制循环
declare @str varchar(20)--保存每行的字符串(sql中无换行这一说,一个print就是一行)
declare @size int--控制三角形的大小
set @size=10
set @i=1
set @j=1
set @str=''
while(@i<=@size)
begin
while(@j<=@size-@i)
begin
set @str=@str+' '
set @j=@j+1
end
set @j=1
while(@j<=2*@i-1)
begin
set @str=@str+'*'
set @j=@j+1
end
set @j=1
set @i=@i+1
print @str
set @str=''
end