我有2個表已經創建了相同的模式。我想插入table1 - > table2的行,Age(column)的約束不是重複的。查詢執行但沒有插入。SQL查詢 - INSERT INTO與SELECT WHERE什麼都不做
CREATE TABLE #Global (dbName varchar(100) NULL)
INSERT INTO #Global VALUES ('db1')
DECLARE @temp nvarchar(1000)
SELECT @temp = dbName from #Global
DECLARE @sql nvarchar(max)
SELECT @sql = 'INSERT INTO [dbo].[Person] ([age], [name])
SELECT [age], [name]
FROM [' + @temp + ']..[Person]
WHERE [Person].[age] <> [' + @temp + ']..[Person].[age]'
exec sp_executesql @sql
任何幫助將不勝感激!
您是否測試了'SELECT'語句以查看數據是否被返回? –
拉杜 - 是的選擇聲明作品 – nubme
我不明白'SELECT'聲明可能如何工作 - 你比較Person.age與其他表達式,作爲一個人,我可以看到是試圖挑選的東西來自另一個數據庫的表,但SQL Server無法解釋這一點。此外,一些答案給了你你可能想要的東西(每個年齡段有一行用任意選擇的名字和ID),但這不是你真正要求的(你的意思是你想排除任何人與任何人同齡否則?) –