多行PL / SQL Select语句

时间:2014-12-19 21:38:49

标签: sql oracle plsql

我一直使用Excel VBA和其他工具执行查询,但我试图转换为能够直接在SQL和PL / SQL中执行某些任务。我一直在尝试创建PL / SQL,它将执行以下SELECT并且无法掌握我正在阅读的内容。

SELECT
  c.NAME, i.PROPERTY
FROM
  Schema.Table1 c,  Schema.Table2 i
WHERE
  c.ID = i.Prop_ID
  AND c.NAME = 'XXXX'

我希望能够输出名称,属性 我有几个限制。首先,我无法对数据库进行任何更改。其次,我将在多个相同的模式中运行此选择。

最后任何有关良好PL / SQL参考的建议也将受到赞赏。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用替换变量运行SQL * Plus脚本。这些允许我们在每次运行脚本时注入值。 Find out more

SELECT
  c.NAME, i.PROPERTY
FROM
  &&Target_Schema..Table1 c
    ,  &&Target_Schema..Table2 i
WHERE
  c.ID = i.Prop_ID
  AND c.NAME = 'XXXX'
/

几个笔记:

  1. '&&'表示法意味着您只需输入一次模式名称。如果要在同一会话中针对其他架构运行脚本,则需要undef target_schema
  2. 架构之后的两个..不是拼写错误。将模式作为替换变量传递是一个怪癖,我们需要转义点符号。