在sql语句中添加变量。

declare @local_variable data_type

声明时需要指定变量的类型,

可以使用set和select对变量进行赋值,

在sql语句中就可以使用@local_variable来调用变量

声明中可以提供值,否则声明之后所有变量将初始化为NULL。

例如:declare @id int

declare @id int = 3

set @id=2

select id

select @id = column_id from table where column_user = 'ABC'

T-SQL中的参数与变量

 

在TSQL中,查询语句编译时并不为变量赋值(SET OR SELECT Operation),即变量赋值在编译完成,语句执行时才执行赋值操作,因此查询优化器不一定能为查询语句生成一个合适的执行计划

ex:

DECLARE @Id INT =100;
SELECT * FROM dbo.Users
WHERE UserId>@Id

可以使用以下几种方式修改:

--=====================================================
DECLARE @Id INT =100;
SELECT * FROM dbo.Users
WHERE UserId>@Id
OPTION(RECOMPILE)
--=====================================================
DECLARE @Id INT =100;
SELECT * FROM dbo.Users
WHERE UserId>@Id
OPTION(RECOMPILE(@ID=2));
--=====================================================
SP_EXECUTESQL '
SELECT * FROM dbo.Users
WHERE UserId>@Id',N'@Id INT',@ID=100
--=====================================================
CREATE PROCEDURE dbo.usp_GetUser
(
@ID INT
)
AS
BEGIN
SELECT * FROM dbo.Users
WHERE UserId>@Id
END
GO
EXEC dbo.usp_GetUser @ID=100
--=====================================================

sql 添加变量的更多相关文章

  1. MFC下无法为空间添加变量解决

    许久不用MFC,今天在vs2008下用MFC写个小东西,结果在为控件添加变量的时候,居然无法成功——那个界面显示怪怪的,点击完成提示失败.    还好同事遇到过这个问题,给出链接http://hi.b ...

  2. SQL 表变量和临时表

    SQL 表变量和临时表 表变量:存储在内存中,作用域是脚本的执行过程中,脚本执行完毕之后就会释放内存,适合短时间内存储数据量小的数据集. 优点:使用灵活,使用完之后立即释放,不占用物理存储空间 缺点: ...

  3. (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)

    本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) decla ...

  4. VB.NET中使用Linq TO SQL添加数据后获得自增长列ID

    VB.NET中使用Linq TO SQL添加数据后获得自增长列ID: Dim tempOrdre As New Order With { .CustomerID = cmbCustomerName.S ...

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

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

  6. JS_object添加变量属性_动态属性

    总结,给对象动态添加变量属性的方法如下: obj[变量]=变量值; 备注: obj.属性=属性值 ; obj={属性:属性值}; 这两种方式添加的属性都不能使用变量作为属性. 犯过的错误: var t ...

  7. jmeter参数化、添加变量、生成随机数和导入csv文件数据

    Remarks:本次使用jmeter版本为4.0 以下数据都在必应中演示: 添加普通变量 1.添加 User Defined Variables(用户自定义变量) 2.设置变量 3.使用变量 4.查看 ...

  8. python笔记30-docstring注释添加变量

    前言 python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢? docstring也就是给代码加注释的内容了,python可以给函数,类.方法,模块添加注释内容,注释标 ...

  9. MFC中给控件添加变量,DoDataExchange中

    DoDataExchange函数其实是一项数据动态绑定技术.比如你在写动态按钮过程中须对按钮添加变量时,怎么添加?控件类已经写好了,其变量是已经固定的.你要添加新的变量就要用到DoDataExchan ...

随机推荐

  1. git如何获取获取子模块的代码?

    答: 步骤如下: 1. git submodule init 2. git submodule update

  2. Bitmap添加水印效果

    package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...

  3. HTML5 地理位置定位API(4)

    地理定位(geolocation)是最令人兴奋,而且得到了广泛支持的一个新API.通过这套API, JavaScript代码能够访问到用户的 当前位置信息.当然,访问之前必须得到用户的明确许可,即同意 ...

  4. 33Flutter仿京东商城项目 登录 注册相关页面布局

    加群452892873 下载对应33课文件,运行方法,建好项目,直接替换lib目录 以下列出的是本课涉及的文件. User.dart import 'package:flutter/material. ...

  5. 30分钟让你学会 Spring事务管理属性

    Spring是一个Java开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的.框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开 ...

  6. 关于Selenium remote模式分布式执行UI自动化测试必定面临的性能问题

    1.大部分自动化测试人员都是在本地执行UI自动化测试,也就是代码和浏览器必须在同一台机器上,这样的的缺陷很多,无法多任务并发执行UI自动化测试用例,效率极低 2.正是如此,Selenium 的remo ...

  7. 看看BeginInvoke的用法,亲爱的们

    看看它是杂带参数的哈 using System; using System.Threading; class MyTest { delegate bool deleTest(string a,stri ...

  8. FCKEDITOR在.NET中的使用

    FCKEDITOR在.NET中的使用 FCKeditor介绍 FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务.它不需要安装任何 ...

  9. otepad++ 配置 支持jquery、html、css、javascript、php代码提示

    官网下载:http://notepad-plus-plus.org/ 获取插件的方法:打开软件,窗口工具栏有有一个问号,点获取插件. 我使用的插件(安装方法都是官方的方法): QuickText.v0 ...

  10. Hyper-V VM Generation 2 - Can not boot from .ISO (Hyper-V Gen2不能從DVD啓動 ISO)

    Q: Hyper-V VM Generation 2 - Can not  boot from .ISO (Hyper-V Gen 2不能從DVD啓動 ISO ) A: Disable secure ...