【问题标题】:Concat two variables into new variable将两个变量连接成新变量
【发布时间】:2019-07-18 11:37:35
【问题描述】:

我想为某些特定的表设置权限。这些表名也存储在一个变量(表名)中,就像模式(schemaName)一样。我的任务是将这些变量连接到 schemaName.tableName 。

我已尝试连接这些变量,但结果是未定义变量。

  GRANT SELECT ON schemaName || "." || tableName TO roleName;

有没有办法像在 PHP 中那样使用可变变量? example

【问题讨论】:

    标签: stored-procedures db2 db2-luw


    【解决方案1】:

    您不能使用静态语句来做到这一点。 GRANT 语句不允许使用变量作为模式或表名。

    在存储过程中,您可以改用动态语句。比如:

    DECLARE stmt VARCHAR(100);
    
    ...
    
    SET stmt = 'GRANT SELECT ON '  || schemaName || '.' || tableName ||
               ' TO ' || rolename;
    
    EXECUTE IMMEDIATE stmt;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 2021-11-08
      • 2011-11-30
      • 2012-02-17
      相关资源
      最近更新 更多