我正在编写一个查询,其中我使用INSERT INTO tablename SELECT
语句,并使用INSERT INTO
子句结束where
语句。但是,where
并未按预期过滤结果(我知道有些记录不符合此标准且应该过滤掉),也不会引发错误。所以,我无法弄清楚为什么它没有输出预期的结果。
请参阅下面的代码:
N'INSERT INTO table
SELECT DISTINCT
[Identifier]
,[Variable1]
,[Variable2]
,[Variable3]
,[Variable4]
,[Variable5]
,[Variable6]
,[Variable7]
,[Variable8]
,NULL
,[Variable9]
,NULL
FROM [DBname].[tablename].[tablename2]
WHERE [Variable10] = ''Successful'';'
答案 0 :(得分:3)
免费啤酒表示您的变量是VARCHAR(300),这个长度为340个字符,在WHERE子句之前截断它。
答案 1 :(得分:0)
您确定您的表名是否正确? ([DBname].[tablename].[tablename2]
)
你确定你的表结构插入是否正确?
Declare @sql varchar(4000)
Set @sql =N'
INSERT INTO [TITMS_Test].[dbo].[GROUP] (Name, Description)
SELECT DISTINCT Name, Description
FROM [TITMS].[dbo].[GROUP]
WHERE [Name] = ''Imported'';'
Print @sql
Exec (@sql)