Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 呃这也解决了这个问题。我要说的是这篇文章标题中的“模糊错误信息”question@daOnlyBG在注释出现之前,您没有通过运行代码获得表名,而是得到了一个完整的查询。Tab Alleman的答案会帮你做到这一点。我只是指出了错误的根源,以及如何规避it@_Sql_Sql Server_Dynamic Sql - Fatal编程技术网

Sql 呃这也解决了这个问题。我要说的是这篇文章标题中的“模糊错误信息”question@daOnlyBG在注释出现之前,您没有通过运行代码获得表名,而是得到了一个完整的查询。Tab Alleman的答案会帮你做到这一点。我只是指出了错误的根源,以及如何规避it@

Sql 呃这也解决了这个问题。我要说的是这篇文章标题中的“模糊错误信息”question@daOnlyBG在注释出现之前,您没有通过运行代码获得表名,而是得到了一个完整的查询。Tab Alleman的答案会帮你做到这一点。我只是指出了错误的根源,以及如何规避it@,sql,sql-server,dynamic-sql,Sql,Sql Server,Dynamic Sql,呃这也解决了这个问题。我要说的是这篇文章标题中的“模糊错误信息”question@daOnlyBG在注释出现之前,您没有通过运行代码获得表名,而是得到了一个完整的查询。Tab Alleman的答案会帮你做到这一点。我只是指出了错误的根源,以及如何规避it@Eli谢谢,我现在明白了,我只是得到了一个查询结果,而不是对象的名称。我将等待塔巴勒曼对我的评论的回应,因为他建议的答案也会产生类似的错误反应;控制台在SET@oldtablename后面的select下面加下划线,并警告'select'语法不


呃这也解决了这个问题。我要说的是这篇文章标题中的“模糊错误信息”question@daOnlyBG在注释出现之前,您没有通过运行代码获得表名,而是得到了一个完整的查询。Tab Alleman的答案会帮你做到这一点。我只是指出了错误的根源,以及如何规避it@Eli谢谢,我现在明白了,我只是得到了一个查询结果,而不是对象的名称。我将等待塔巴勒曼对我的评论的回应,因为他建议的答案也会产生类似的错误反应;控制台在
SET@oldtablename
后面的
select
下面加下划线,并警告
'select'
语法不正确。@daOnlyBG I更新了选项卡的答案,效果良好。嵌套在集合后的查询需要包含在括号内。@Eli更新尚未显示,但我现在理解了正确的调整,脚本工作正常。谢谢你和Tab。实际上,这并不能解决问题;控制台在
SET@oldtablename
后面的
select
下面加下划线,并警告
'select'
语法不正确。@daOnlyBG I更新了选项卡的答案,效果良好。嵌套在集合后的查询需要包含在括号内。@Eli更新尚未显示,但我现在理解了正确的调整,脚本工作正常。谢谢你和Tab。
DECLARE @oldtablename VARCHAR(MAX)
DECLARE @oldtablequery VARCHAR(MAX)

SET @oldtablename = 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME LIKE ''%tablekeywords_test%'' 
AND CONVERT(varchar(8), RIGHT(TABLE_NAME, 8), 112) <= CONVERT(VARCHAR(8), GETDATE(), 112)'
exec(@oldtablename)

-- up until here, everything works fine. The following does not:
--EXEC('select top 5 * from databasename.dbo.'+@oldtablename+'')
SET @oldtablequery = 'SELECT TOP 5 * FROM databasename.dbo.'+@oldtablename+';'
exec(@oldtablequery)
(1 row(s) affected)
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'SELECT'.
DECLARE @oldtablename VARCHAR(MAX)
DECLARE @oldtablequery VARCHAR(MAX)

SET @oldtablename = 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME LIKE ''%tablekeywords_test%'' 
AND CONVERT(varchar(8), RIGHT(TABLE_NAME, 8), 112) <= CONVERT(VARCHAR(8), GETDATE(), 112)'
exec(@oldtablename)

-- up until here, everything works fine. The following does not:
--EXEC('select top 5 * from databasename.dbo.'+@oldtablename+'')
SET @oldtablequery = 'SELECT TOP 5 * FROM databasename.dbo.'+@oldtablename+';'
print @oldtablequery
DECLARE @oldtablename VARCHAR(MAX)
DECLARE @oldtablequery VARCHAR(MAX)

SET @oldtablename = (
     SELECT 
         TOP 1 TABLE_NAME 
     FROM INFORMATION_SCHEMA.TABLES 
     WHERE TABLE_NAME LIKE '%tablekeywords_test%' 
     AND CONVERT(varchar(8), RIGHT(TABLE_NAME, 8), 112) <= CONVERT(VARCHAR(8), GETDATE(), 112));


-- up until here, everything works fine. The following does not:
--EXEC('select top 5 * from databasename.dbo.'+@oldtablename+'')
SET @oldtablequery = 'SELECT TOP 5 * FROM databasename.dbo.'+@oldtablename+';'
exec(@oldtablequery)