如题: 
我定义一个变量 A 
declare A..
然后我想在接下来的SQL中使用这个变量,oracle的sql window能不能够做到?
select * from t where t.a = :A?

解决方案 »

  1.   

    sql*plus中可以,pl sql dev中也可以
      

  2.   

    pl/sql dev的sql window好像就是执行单条的sql的,
    不过还是可以用替代变量&比如你上面的sql可以换成
    select * from t where t.a =&a,执行的时候,会弹出提示要你输入a的值。不过这里需要注意,他做到额仅仅是字符替换而已, 比如你输入123 这里就被转换为select * from t where t.a =123, 所以如果是字符串类型的
    应该用select * from t where t.a ='&a' 这样的方式,否则一替换的话就报错叻。  在sqlplus里方法就更多,更强大叻
    可以&  单次替换
    && 多次替换  select * from t where t.a ='&&a'
    variable 设定变量。  variable a varchar2(1000); exec :a := '1234'; select * from t where t.a = :a; 这个就不是替换变量叻,而是叫绑定变量,所以文字就不要''了。如果有兴趣可以g一下。
      

  3.   

    我用的是pl sql dev,new里面选择哪个?
      

  4.   


    谢谢.
    那么在pl/sql dev中要实现这种功能 只能自己建个函数或过程,然后在函数或过程里定义变量,再执行函数或过程才能看到效果么?
      

  5.   

    sql window里知支持&和&&, 不支持variable
      

  6.   


    你是不是想通过执行时手动输入一个值来查询,你可以选择command window