首页 > 数据库 >【转载】Sqlserver存储过程中使用Select和Set给变量赋值

【转载】Sqlserver存储过程中使用Select和Set给变量赋值

时间:2023-05-26 09:55:30浏览次数:67  
标签:存储 Set 变量 Age Sqlserver Select 赋值

@@sqlserver select 赋值

 

 

Sqlserver存储过程是时常使用到的一个数据库对象,在存储过程中会使用到Declare来定义存储过程变量,定义的存储过程变量可以通过Set或者Select等关键字方法来进行赋值操作,使用Set对存储过程变量赋值为直接赋值,使用Select则一般从数据表中查找出符合条件的属性进行赋值操作。

例如,下面定义一个存储过程年龄字段@Age字段。

Declare @Age int;

使用Set方式赋值的语句可写作为:Set @Age=32;

如果我们要从表UserTable中查找出名字为张三的人的年龄,然后将之赋值给@Age变量,就得使用Select方式来赋值了,赋值方式如下:

Select @Age=Age FROM UserTable Where Name='张三';

此处使用Select进行赋值的话需要注意个点,Select查询语句一条记录都没查找出来,@Age字段将不会有任何改变,也不会赋值为Null,这个情况博主在实际业务中遇到过,就是使用了while循环,然后在循环中采用Select对特定变量赋值,发现如果Select查询集合为空集的时候,变量值不是赋值为NULL,而是直接保持上一次循环赋值的结果。

 

https://www.cnblogs.com/xu-yi/p/10969556.html

标签:存储,Set,变量,Age,Sqlserver,Select,赋值
From: https://www.cnblogs.com/wl-blog/p/17433871.html

相关文章

  • SqlServer中使用Select语句给变量赋值的时候需要注意的一个问题
    @@sqlserverselect赋值  我们知道在SqlServer中可以用Select语句给变量赋值,比如如下语句就为int类型的变量@id赋值1declare@idint=-1;23select@id=idfrom4(5select1asid6unionall7select2asid8unionall9select3asid10)a......
  • SqlServer select 赋值问题
    @@sqlserverselect赋值 --变量赋值正确,单个数据默认为变量declare@s1varchar(20)set@s1=(selectMAX(parked_id)fromparked)--变量赋值错误,多个数据默认为数据集declare@s2varchar(20)set@s2=(selectparked_idfromparked)————————————————版权......
  • el-select @change绑定item对象
    正常写,注意的是需要在<el-select>标签上加一个属性value-key,把<el-option>的key赋值给他,如下图。  ......
  • Pytest - Fixture(2) - 实现setup和teardown(yield)
    Fixture实现setup和teardown(yield)用fixture实现teardown并不是一个独立的函数,而是用yield函数来开启teardown操作;具体yield是什么,可以去度娘一下~test_py.pyimportpytest#配置自动运行的[email protected](scope="function",autouse=True)defo......
  • Unity2018.2 Standard Assets汉化
    下载中文汉化包拷贝到安装盘:\ProgramFiles\Unity\Editor\Data\Localization下面2018.1+的StandardAssets安装方法“自从我升级到2018.2之后,就再也找不到Unity自带的那些标准资源了,就是那个StandardAssets,里面有好多东西是我的必备资源呢,比如地形的那些贴图,第一人称控制......
  • SqlServer——临时表
    @@sqlserver临时表 SqlServer——临时表 1、表的类型:SqlServer数据库中分为两个表:永久表、临时表;通过表名的前缀区分。永久表:与物理文件、C#中的静态类 类似,任何用户均可对其执行操作并且相互影响;临时表:简单的说就是使用时创建,断开连接即自动drop。2、临时表......
  • Swift中常见的String用法,Array高阶使用,Set集合操作
    String字符串常见用法生成字符串创建字符串letgreeting="Hello,world!"letname=String("John")连接字符串:使用加号(+)或者字符串插值(使用())来将多个字符串连接起来。varfirstName="John"letlastName="Doe"letfullName=firstName+""+las......
  • ES启动错误 ERROR: the system property [es.path.conf] must be set
    JDK版本出问题。我的ElasticSearch版本为7.9.1,JDK版本为11对于不想修改系统JDK版本的可以使用elasticsearch自带的jdk启动服务。1.找到 elasticsearch-env.bat 中的if"%JAVA_HOME%"==""(setJAVA="%ES_HOME%\jdk\bin\java.exe"setJAVA_HOME="%ES_HOME%\jd......
  • Python集合 (set) 的增删改查及 copy()方法
    集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:1、去重,把一个列表变成集合,就自动去重了。2、关系测试,测试两组数据之前的交集、差集、并集等关系。一、集合的创建set1=set({1,2......
  • 创建及使用一个SqlServer的用户自定义表类型(User-Defined Table Type)
    创建一个用户自定义表类型(User-DefinedTableType)CREATETYPE[dbo].[MyTypeName]ASTABLE( [Field1][nvarchar](50)NOTNULL, [Field2][nvarchar](100)NULL, [Field3][nvarchar](50)NULL, [Field4][nvarchar](20)NULL, [Field5][nvarchar](20)NULL)GO直接......