在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
上一篇我们讲到了SQL存储过程的基本定义,怎么创建,使用,这篇就来讲一下变量的使用。 变量分文局部变量和全局变量 局部变量是@开头,全局变量是@@开头,这里我们主要讲局部变量,全局变量我们后面再讲。 在c# 语言中,定义一个变量很简单,例如 复制代码 代码如下: int i=0; --定义加赋值。
在sql中,定义一个变量需要关键字DECLARE,还需要个特殊符号标记(@)表示是变量。 看看简单的声明语法: 复制代码 代码如下: Declare @Local_Var data_type
@Local_Var是一个整体,表示一个变量。 data_type就是数据类型了,这个大家都很熟悉的,例如int,decimal ,float,text等。 变量声明了,怎么赋值呢,能在声明的时候赋值么?像这样 复制代码 代码如下: declare @ID=2 varchar(20); 这样是不行的,但是这样呢 复制代码 代码如下: declare @ID varchar(20)=2 print @ID --这句话的意思是在sql server窗口中打印出变量的值 这样是正确的,结果是 --------- 2 声明可以赋值,再声明后是可以再赋值的, 这里有两种方式赋值 set,select ,先看基本用法,再说区别 一,基本用法 复制代码 代码如下: declare @ID varchar(20) --定义一个变量叫@ID set @ID=3 --变量赋值为3 print @ID --打印 select @ID=1 --变量赋值为1 print @ID --打印 查看结果 从上面看出来了,Set,与select都可以给变量赋值。 然后我们看看变量的运算,运算其实很简单,下面看看加减法 复制代码 代码如下: declare @ID varchar(20) set @ID=3 print @ID select @ID=1+@ID --将变量@id加1 print @ID select @ID=(select 1+5) --类似于@ID=1+5 print @ID select @ID=(select 1-@ID) --类似于@ID=1-@ID print @ID 结果 3 我们再看看乘除法呢 复制代码 代码如下: declare @ID int set @ID=3 print @ID select @ID=2* @ID --乘以2 print @ID select @ID=(@ID/2) --除以2 print @ID select @ID=(@ID * @ID) --乘方 print @ID 结果 最后看一下模运算% 复制代码 代码如下: declare @ID int set @ID=(10%3) print @ID select @ID=(10%2) print @ID 结果 二,区别 1,表达式返回多个值时 复制代码 代码如下: 表达式返回多个值时,使用 SET 赋值 declare @name varchar(128)
2,表达式未返回值时 复制代码 代码如下: --表达式未返回值时,使用 SET 赋值 declare @name varchar(20) set @name='jack' set @name= (select username from userinfo where username='not') print @name --Null值 结果 --表达式未返回值时,使用 SELECT 赋值 结果 这里简单总结下 下表列出 SET 与 SELECT 的区别。
下面来看个综合的例子 复制代码 代码如下: CREATE PROCEDURE UserLogin1 --创建一个存储过程来判断登录 @name varchar(20), @password varchar(20), @inReturn int output --输出参数 AS --测试方法
--结果跟上面是一样的
declare @test int |
请发表评论