【问题标题】:DB2 query with slash in table name表名中带有斜杠的 DB2 查询
【发布时间】:2017-01-28 18:10:23
【问题描述】:

请给我一个表名SAPPRD./CS1/TB2_SOPBV,但我不能进行这个查询:

transfer ownership of table SAPPRD./CS1/TB2_SOPBV TO USER SAPQAS preserve privileges;

我收到错误:

DB21034E 该命令被作为 SQL 语句处理,因为它是 不是有效的命令行处理器命令。在 SQL 处理期间 返回:SQL0104N 在以下发现意外的标记“/CS1/” “表 SAPFIP 的臀部。”。预期的标记可能包括:“”。 SQLSTATE=42601

所以我尝试转义,我将查询编辑为:

transfer ownership of table SAPPRD.\"/CS1/TB2_SOPBV" TO USER SAPQAS preserve privileges

但它不会逃脱,我仍然收到错误:

DB21034E 该命令被作为 SQL 语句处理,因为它是 不是有效的命令行处理器命令。在 SQL 处理期间 返回:SQL0007N 语句未处理,因为字符 SQL 语句中不支持的已包含在 SQL 中 陈述。无效字符: ”\”。无效之前的文本 字符:“表 SAPPRD 的臀部。”。 SQLSTATE=42601

是否可以在此处转义并继续此查询?

谢谢!

【问题讨论】:

  • 顺便说一下,表的命名策略非常糟糕。
  • @AngocA 是的,但这是我必须尊重的 SAP 命名策略

标签: db2


【解决方案1】:

解决了!

transfer ownership of table SAPPRD."/CS1/TB2_SOPBV" TO USER SAPQAS preserve privileges

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多