变量和与常量

1.定义和使用局部变量
说明:局部变量是用户可自定义的变量,它的作用范围仅在程序内部。局部变量的名称是用户自定义的,命名的局部变量名要符合SQL Server 2000标识符命名规则,必须以@开头。

本实例在图书信息表中声明3个局部变量,分别为这3个变量赋值,并把它的值用print关键字显示出来。

在查询分析器中运行的结果如下:

declare @bookId varchar(20)
declare @bookName varchar(20)
declare @bookTest varchar(20)
select @bookId='1727',@bookName='javk',@bookTest='fkhf'
print @bookName
GO
结果:javk

2.定义和使用全局变量
说明:全局变量是SQL Server系统内部事先定义好的变量,不用用户参与定义,对用户而言是只读的。其作用范围并不局限于某一程序,而是任何程序均可随时调用。全局变量通常用于存储一些SQL Server的配置设定值和效能统计数据。

在db_Sql数据库中修改tb_Student01数据表时,用@@identity返回最后插入的标识值,并且将最后插入的学生编号显示出来。

在查询分析器中运行的结果如下:

insert into tb_Student01
values('小明','85')
select @@identity as ‘学生编号’

结果: 学生编号
1 1006

3.数字常量的使用
说明:

if exists()

create table db_shiyan(
name varchar(20),
id int identity(1001,1),
生日 datetime,
sex char(2),
money float,
文本 text,
图像 image
)

declare @varTable
table(id int,name varchar(20),生日 datetime,sex char(2),money float,文本 text,图像 image)
insert into @varTable select * from tb_student01
select * from @varTable
go
insert

declare @x int
set @x=1
if @x<0
print '@x是一个负数'

select XXX
case
when xx='mm' then 'jieguo'
when xx='aa' then 'dajfioa'
end
from tb_table
GO

declare @num int,@s int
set @num=1
set @s=0
while @s<=100
begin
set @s=@s+@num
set @num=@num+1
end
print @s

declare @x int,@sum int
set @x=1
set @sum=100
while xxx
begin
set @x=@x+1
if @x%2=0
set @sum=@sum+@x
else
break
end
print @sum

declare @sum int,@A int
set @sum=0
set @A=1
while @A<9
begin
set @A=@A+1
if @A%2=0
set @sum=@sum+@A
else
continue
end
print @sum

declare @sum int,@A int
set @sum=0
set @A=1
jp:
while @A<9
begin
set @A=@A+1
if @A%2=0
set @sum=@sum+@A
else
continue
end
print @sum
goto jp

create table #tb_Stu01
(
学生编号 varchar(20),
学生姓名 varchar(20)

)
GO
insert into #tb_Stu01
values('1001','王明')
GO
select * from #tb_Stu01
GO

select *
into #tb_Score01
from tb_Stu01
GO
select *
from #tb_Score01
GO

sql语句变量定义和样例的更多相关文章

  1. sql 语句中定义的变量不能和 sql关键字冲突

    sql 语句中定义的变量不能和 sql关键字冲突 from bs_email_account account LEFT JOIN bs_group_info gp ON account.group_i ...

  2. 动态SQL语句:定义(一)

    文章系列 动态SQL语句:定义(一) 静态SQL与动态SQL 静态SQL:程序运行前,具有固定的形式和结构的SQL. 动态SQL:程序运行时,能够动态改变形式或结构的SQL. 一些思考和想法 在实际的 ...

  3. SQL语句优化 -- 以Mysql为例

     本文参考下面的文章:    1: [真·干货]MySQL 索引及优化实战 2:  Mysql语句的执行过程 3:  sql优化的几种方法 我将  sql语句优化分为三个方面,(此处不包括 业务逻辑的 ...

  4. JavaScript变量提升演示样例

    直接先看两段代码 function getSum() { var sum = a + b; var a = 1; var b = 2; return sum; } getSum(); function ...

  5. SQL Server 变量定义

    declare @id intdeclare @name char(10) --注意:char(10)为10位,要是位数小了会让数据出错set @id=1 set @name='sssss'selec ...

  6. pl/sql 关于变量定义的问题

    1. create or replace procedure  test_prc(p_data_dt in date) IS e_name emp.ename%type;      begin sel ...

  7. SQL 将变量定义为Table类型

    ),a2 ,),a4 DATETIME,a5 UNIQUEIDENTIFIER) ,11.22,GETDATE(),NEWID()) ,11.22,GETDATE(),NEWID()) ,11.22, ...

  8. SQL SERVER 变量的使用和样例

    定义和使用局部变量:说明: 局部变量是用户可自定义的变量. 作用范围仅在程序内部. 局部变量的名称是用户自定义的,命名的局部变量名要符合SQL Server 2000标识符命名规则=>以@开 在 ...

  9. MySQL批处理SQL语句

    MySQL 支持批处理的模式运行一批SQL语句,以下的样例就是实验MySQL怎样在windows下批处理运行SQL语句. create table test(id int,name varchar(2 ...

随机推荐

  1. Mac Mysql初始密码重置

    今天晚上mac更新后重装MySQL 安装完成后 启动服务,死活登录不了 提示1045错误.按照网上的资料对MySQL密码进行重置.记录步骤如下: 1.首先关闭MySQL服务 系统偏好设置->最下 ...

  2. 【思路】-分页-双top分页算法的原理

    描述:实现分页的一种算法 大致过程:访客访问不同的分页,为这个当前页生成动态的查询SQL,然后送到数据库中执行 输入:总条数,每页多少条,第几页,查询的SQL,排序的字段 注意:传入的排序字段需要构成 ...

  3. Gulp的使用教程

  4. udev

    1.作为devfs的代替者,传统的devfs不能动态分配major和minor且有限,udev能像DHCP动态的分配IP一样去分配major和minor 2.device naming提供命名持久化机 ...

  5. VS 2015 localhost访问有效 改用 IP访问 400错误 invalid hostname 修改方法

    今天新起站点发现在Chrome浏览器中,通过localhost访问是有效的,但是通过本机IP甚至127.0.0.1访问无效, 报的错误是400 Bad Request Invalid HostName ...

  6. 【转】responseText,responseBody,responseXML差别

    为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较 由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚.服务器端的xmlhtt ...

  7. μC/OS-Ⅲ中的临界段代码

    临界段代码(critical sections),也叫临界区(critical region),是指那些必须完整连续运行,不可被打断的代码段.μC/OS-Ⅲ系统中存在大量临界段代码.采用两种方式对临界 ...

  8. 观点:BPM已经过时了?

    在这个信息爆炸的世界,业务转型通常是以数字系统和流程的方式发生. 根据Forrester的报告“软件必须丰富你的品牌”,人们要依靠这些技术实现期望的商业成果,比如品牌联系.客户服务创新.更好的产品和提 ...

  9. myeclipse编译问题

    这个问题困扰了两天,在用springmvc编写Controller层的时候.我前台js跳转时@RequestMapping无法捕获到,但是之前的编写的都可以捕获正常执行.然后我更改js的跳转地址,发现 ...

  10. 进程间通信--fork函数

    #include <unistd.h> pid_t fork(void); fork() creates a new process by duplicating the calling ...