sql - 在 SQL Server 中将行的值选择到单独的变量中

标签 sql sql-server tsql

我在 SQL Server 中有一个表。问题是如何将单行的每一列的值保存到 SQL Server 2012 中的单独变量中。

类似:

SELECT Id, Name, School 
FROM tblSchool 
WHERE Id = 2

然后将Id、Name、School的值保存到单独的变量中

最佳答案

如果您希望将值存储在单独的变量中(您的查询仅返回一个匹配行) 你可以像下面那样做

DECLARE @ID INT
DECLARE @Name VARCHAR(100)
DECLARE @School VARCHAR(100)
SELECT TOP 1 @ID=Id,@Name=Name,@School=School FROM tblSchool WHERE Id=2

SQL Server 还支持表类型变量,对于您的情况,您可以创建如下表类型。

CREATE TYPE [dbo].[MyVairable] AS TABLE(
    Id                    INT NOT NULL,
    Name                   VARCHAR(100) NULL,
    School                 VARCHAR(100)
 )

声明变量如下。

 DECLARE @MyVariable [dbo].[MyVairable]

将行选择到变量中。

INSERT INTO @MyVariable
SELECT Id,Name,School FROM tblSchool WHERE Id=2

关于sql - 在 SQL Server 中将行的值选择到单独的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48494322/

相关文章:

mysql - 一张表中的分数总和

sql-server - 在 SQL Server 中获取 Excel 工作表名称

sql - 使用 SQL Server 从复杂的 XML 结构中读取值

sql - T-SQL : Deleting all duplicate rows but keeping one

sql-server - 识别存储过程是否存在的首选方法是什么

mysql - 如何连接2个SQL查询: SELECT from table and DELETE from another?

mysql - 如何设置两个MySQL数据字段,使其中一个可以为空,但不能同时为空?

sql - 不确定在这种情况下如何使用 Decode、NVL 和/或 isNull(或其他内容?)

sql - DateDiff 输出小时和分钟

sql-server - SSIS变量评估表达式在脚本任务中花费的时间