首页 > 其他分享 >11.变量

11.变量

时间:2022-10-17 12:47:32浏览次数:41  
标签:11 set 变量 -- go select AccountId

变量

一、信息打印

print 'hello,sql';   --打印在消息位置
select 'hello,sql';  --打印在结果位置

二、变量

--变量:(1)局部变量(2)全局变量
--(1)局部变量:以@开头,先声明再赋值
declare @str varchar(10);   --声明
set @str='hello';     --赋值
--select @str='hello'; 
print @str;
--set和select 的区别
--set: 赋值变量指定的值
--select: 一般用于表中查询出的数据赋值给变量,如果查询结果由多条,取最后一条赋值
--例子:select @a = 字段名 from 表名 当前表最后一行的某个字段值赋值给@a


--(2)全局变量:以@@开头,由系统进行定义和维护
--@@ERROR:返回执行的上一个语句的错误号
--@@IDENTITY:返回最后插入的标识值
--@@MAX_CONNECTIONS:返回允许同时进行的最大用户连接数
--@@ROWCOUNT:返回受上一语句影响的行数
--@@SERVERNAME:返回运行SQL Server的本地服务器的名称
--@@SERVICENAME:返回SQL Server正在其下运行的注册表项的名称
--@@TRANCOUNT:返回当前连接的活动事务数
--@@LOCK_TIMEOUT:返回当前会话的当前锁定超时设置(毫秒)

--示例
--为赵云此人进行开卡开户操作
insert into AccountInfo(AccountCode,RealName,AccountPhone)
values('4287732767232','赵云','12782647653');
declare @AccountId int ;
set @AccountId = @@IDENTITY;
insert into BankCard(CardId,AccountId,CardPwd,CardMoney,CardState)
values('6223562186786867',@AccountId,'12345',0,1);

--需要求出张飞的银行卡号和余额,张飞身份证:4287732767232
select CardId 银行卡号,CardMoney 余额 from BankCard 
inner join AccountInfo 
on AccountInfo.AccountId = BankCard.AccountId
where AccountCode = '4104398368971'

declare @AccountId int;
select @AccountId = 
(select AccountId from AccountInfo where AccountCode = '4104398368971');
select CardId 银行卡号,CardMoney 余额 from BankCard 
where @AccountId = AccountId;

三、go

--go语句
--(1)等待go语句之前的代码执行完成后才能执行后面的代码
create database DBTEST1;
go
use DBTEST1;
--(2)批处理结束的一个标志
declare @num int;
set @num = 100;
go
print @num   --此处报错:必须声明标量变量 "@num"。说明go限制了变量的作用范围

标签:11,set,变量,--,go,select,AccountId
From: https://www.cnblogs.com/Starry-blog/p/16797314.html

相关文章