【问题标题】:Using a variable to reference a schema and table in DB2 stored procedure在 DB2 存储过程中使用变量来引用模式和表
【发布时间】:2015-07-02 00:19:10
【问题描述】:

我将模式名称存储在表列中(例如,SOURCE_SCHEMATARGET_SCHEMA),并且正在检索我想要作为 DB2 存储过程中的变量使用的模式名称(例如,vSchema)。

然后如何在 SQL 语句中使用该变量,例如:

SELECT * from vSchema.TABLE_NAME

有没有更好的方法来做到这一点?提前致谢。

【问题讨论】:

  • 没有额外的上下文我只能告诉你你需要使用动态 SQL,例如作为shown here
  • SQL 无法在不知道架构和表名的情况下编译 SQL SELECT 语句。没有这些,它就无法知道如何为从数据库中检索到的值分配内存。如果您在创建 proc 时不知道这些名称,则必须使用动态 SQL 语句,这些语句本质上是在每次调用 proc 时在运行时编译的。查看PREPAREEXECUTEEXECUTE-IMMEDIATE SQL 语句以了解动态 SQL。
  • @user2338816 请发表您的评论作为答案,因为我认为它是正确的并且可以帮助其他人;)
  • 您可以在stackoverflow.com/questions/36281235/…找到更完整的答案

标签: db2 db2-luw


【解决方案1】:

Utiliza SET PATH = TU_LIBRERIA, OTRA_LIBRERIA

【讨论】:

  • 如果这是一个答案,请详细说明并提供一些上下文
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
相关资源
最近更新 更多