将文字字符串作为 SQL 语句执行 - 放置单引号
Execute a literal string as a SQL statement - placement of single quotes
我有以下 SQL 字符串通过链接服务器从 ODBC 进度数据库中提取数据。 这个查询工作正常。
SELECT *
INTO [TABLE]
FROM
OPENQUERY
(
"ODBC DRIVER",
'SELECT CAST(SCHEMA."AB_ACCESSIBILITY"."ACCESS_CODE" AS VARCHAR(20)) AS "ACCESS-CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."DESCRIPTION" AS VARCHAR(60)) AS "DESCRIPTION"
,CAST(SCHEMA."AB_ACCESSIBILITY"."ORG_CODE" AS VARCHAR(16)) AS "ORG_CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."POINTS" AS INT) AS "POINTS"
FROM SCHEMA."AB_ACCESSIBILITY" with (nolock)'
)
但是,我想将其转换为 文字字符串 ,以便我可以使用 exec sp_executesql
从存储过程中执行它。
但是,我在正确放置撇号时遇到了问题,因此 exec sp_executesql
可以将其阅读为格式正确的 SQL 语句。
有人可以告诉我在上面的语句中添加额外撇号的位置,以便它可以与 exec sp_excutesql 一起使用吗?
谢谢!
为清楚起见编辑:
With (nolock)
可以满足上述条件
上面的目的是循环遍历列表中的多个SQL语句以从Progress DB导入数据。
看来您只需要用 '' 转义 ' 字符
SELECT *
INTO [TABLE]
FROM
OPENQUERY
(
"ODBC DRIVER",
''SELECT CAST(SCHEMA."AB_ACCESSIBILITY"."ACCESS_CODE" AS VARCHAR(20)) AS "ACCESS-CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."DESCRIPTION" AS VARCHAR(60)) AS "DESCRIPTION"
,CAST(SCHEMA."AB_ACCESSIBILITY"."ORG_CODE" AS VARCHAR(16)) AS "ORG_CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."POINTS" AS INT) AS "POINTS"
FROM SCHEMA."AB_ACCESSIBILITY" with (nolock)''
)
我有以下 SQL 字符串通过链接服务器从 ODBC 进度数据库中提取数据。 这个查询工作正常。
SELECT *
INTO [TABLE]
FROM
OPENQUERY
(
"ODBC DRIVER",
'SELECT CAST(SCHEMA."AB_ACCESSIBILITY"."ACCESS_CODE" AS VARCHAR(20)) AS "ACCESS-CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."DESCRIPTION" AS VARCHAR(60)) AS "DESCRIPTION"
,CAST(SCHEMA."AB_ACCESSIBILITY"."ORG_CODE" AS VARCHAR(16)) AS "ORG_CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."POINTS" AS INT) AS "POINTS"
FROM SCHEMA."AB_ACCESSIBILITY" with (nolock)'
)
但是,我想将其转换为 文字字符串 ,以便我可以使用 exec sp_executesql
从存储过程中执行它。
但是,我在正确放置撇号时遇到了问题,因此 exec sp_executesql
可以将其阅读为格式正确的 SQL 语句。
有人可以告诉我在上面的语句中添加额外撇号的位置,以便它可以与 exec sp_excutesql 一起使用吗?
谢谢!
为清楚起见编辑:
With (nolock)
可以满足上述条件上面的目的是循环遍历列表中的多个SQL语句以从Progress DB导入数据。
看来您只需要用 '' 转义 ' 字符
SELECT *
INTO [TABLE]
FROM
OPENQUERY
(
"ODBC DRIVER",
''SELECT CAST(SCHEMA."AB_ACCESSIBILITY"."ACCESS_CODE" AS VARCHAR(20)) AS "ACCESS-CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."DESCRIPTION" AS VARCHAR(60)) AS "DESCRIPTION"
,CAST(SCHEMA."AB_ACCESSIBILITY"."ORG_CODE" AS VARCHAR(16)) AS "ORG_CODE"
,CAST(SCHEMA."AB_ACCESSIBILITY"."POINTS" AS INT) AS "POINTS"
FROM SCHEMA."AB_ACCESSIBILITY" with (nolock)''
)