Sql 将SELECT结果之外的变量插入表中
我正在MSSQL上开发一个存储过程。这是我案例的一个简化示例Sql 将SELECT结果之外的变量插入表中,sql,sql-server,tsql,stored-procedures,Sql,Sql Server,Tsql,Stored Procedures,我正在MSSQL上开发一个存储过程。这是我案例的一个简化示例 another code that has declared a variable @Country ... ... ... INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers; 因此,我尝试做的是,插入前面代码中的@Country变量,而不是SELECT的Country值,但保留结果中的SupplierN
another code that has declared a variable @Country
...
...
...
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
因此,我尝试做的是,插入前面代码中的@Country变量,而不是SELECT的Country值,但保留结果中的SupplierName
我找不到类似的问题,反复试验也无济于事。只需使用变量即可:
Insert Into Customers (CustomerName, Country)
Select SupplierName, @Country
From Suppliers;
只需使用变量即可:
Insert Into Customers (CustomerName, Country)
Select SupplierName, @Country
From Suppliers;
有人在@Siyual上击败了我,但只需使用下面选择的示例中的变量即可
CREATE TABLE #temp1 (
id INT,
value INT
)
CREATE TABLE #temp2 (
id INT,
value INT
)
DECLARE @newVal INT
SET @newVal = 10
INSERT INTO #temp1 (
id,
value
)
VALUES (
1,
1
)
INSERT INTO #temp1 (
id,
value
)
VALUES (
2,
2
)
INSERT INTO #temp1 (
id,
value
)
VALUES (
3,
3
)
INSERT INTO #temp2 (
id,
value
)
SELECT id,
@newVal
FROM #temp1
SELECT *
FROM #temp2
有人在@Siyual上击败了我,但只需使用下面选择的示例中的变量即可
CREATE TABLE #temp1 (
id INT,
value INT
)
CREATE TABLE #temp2 (
id INT,
value INT
)
DECLARE @newVal INT
SET @newVal = 10
INSERT INTO #temp1 (
id,
value
)
VALUES (
1,
1
)
INSERT INTO #temp1 (
id,
value
)
VALUES (
2,
2
)
INSERT INTO #temp1 (
id,
value
)
VALUES (
3,
3
)
INSERT INTO #temp2 (
id,
value
)
SELECT id,
@newVal
FROM #temp1
SELECT *
FROM #temp2
当您的测试远比最简单的解决方案复杂时!非常感谢。由于时间限制,将在4分钟内检查为最佳。当您的测试远比最简单的解决方案复杂时!非常感谢。由于时间限制,将在4分钟内检查为最佳。