nxxshxf

在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
--=====================================================

分类:

技术点:

相关文章:

  • 2021-10-08
  • 2021-06-07
  • 2022-12-23
  • 2021-12-17
  • 2021-12-04
  • 2021-12-19
  • 2022-01-07
  • 2021-10-22
猜你喜欢
  • 2022-12-23
  • 2021-11-28
  • 2022-02-14
  • 2021-05-10
  • 2021-06-18
相关资源
相似解决方案