--1.声明变量的语法
--declare @局部变量名称 数据类型
--(1)声明变量存储商品的库存
declare @num int
--赋值
set @num=11
--查询
select @num
--以表格的形式显示
print @num --仅仅打印显示一下
go
--(2)声明变量存储商品的名称
declare @name nvarchar(20)
set @name='辣条'
select @name
--(3)声明变量存储商品的名称,商品的内容
--一次声明多个变量
--declare @变量名1 数据类型,@变量名2 数据类型...
declare @name1 nvarchar(20),@content nvarchar(max)
set @name1='测试' set @content='撒啊'
select @name1,@content
--查询产品表中商品的价格
--1声明一个变量存储商品的价格
declare @price decimal(18,2)
--通过语句给变量赋值
select @price= max(ProductPrice) from Product
--查询变量select @price--数据类型转换
--(1) Convert(目标类型,变量)
--(2) Cast(变量 as 目标类型)
--练习1 声明一个变量存储学生成绩,然后赋值为100,
--打印输出 “学生成绩是”+成绩变量
declare @score int
set @score=100
print '学生成绩是'+convert(nvarchar(20), @score)
print '学生成绩是'+cast(@score as nvarchar(20))
--练习2 同时声明多个变量,一个存储学生学号,
--一个存储学生姓名,赋值学号为1,姓名为
--张三 打印输出 学生信息
declare @sid int,@sname nvarchar(20)
set @sid=1set @sname='张三'
print '学号是:'+convert(nvarchar(20),@sid)
+',姓名是: '+@sname
--练习3 声明一个变量存储客户表中的总人数,
--然后查询客户人数
declare @num int
select @num=count(*) from Customer
select @num 客户人数
--案例4 声明两个变量,查询商品表中商品编号为1的商品
--的名称和价格分别用变量存储商品的名称和价格,然后打印输出
declare @pname nvarchar(20),@pprice decimal(18,2)
select @pname=ProductName,@pprice=ProductPrice
from Product select @pname as 商品名称,@pprice 商品价格
select * from Product
--全局变量 ---》@@符号开头,是系统已经定义好的
--(1)@@identity 返回上一行返回的标识值
--eg 向商品类别表中插入一条信息
insert into Category values('母婴')
--查询上一条语句返回的标识值
select @@IDENTITY as 类别编号
--返回标识值
--select @@ROWCOUNT as 受影响的行数
--返回受影响的行数,>0表示操作成功
select @@ERROR as 返回错误的行数
--返回错误的行数 >0表示有错,=0表示操作没有问题
insert into Product values
('母婴用品5',150,1001,'bbb',1006)
select @@ROWCOUNT as 受影响行数
--先判断是否出现错误
if(@@ROWCOUNT>0)
--表示插入成功
begin
select @@ROWCOUNT as 受影响行数2
print '没有出错'
select @@IDENTITY as 商品编号
end
else
begin
print '插入的时候报错了'
end
select @@LANGUAGE,@@VERSION,@@SERVICENAME
--案例 请查询出商品表中商品的平均价格,
--然后判断价格是否大于1000
--如果大于1000,则打印平均价格大于1000,
--否则打印平均价格小于1000
--(1)先声明变量,存储平均价格
declare @price1 decimal(18,2)
select @price1=avg(ProductPrice) from Product
--(2)用if判断平均价格是否大于1000
if @price1>1000
begin print '平均价格大于1000'
end
else
begin
print '平均价格:'+convert(nvarchar(20), @price1)
+'小于1000'
end
--(3)判断是否存在类别名有母婴的类别
if exists( SELECT * FROM Category
WHERE CategoryName='母婴')
'存在'
else
print '不存在'
select * from Product