我从Oracle的Pro*C/C++ Programmer’s Guide上面找到一个例子,就是14章的ansidyn1.pc,
结果发现有一个问题很奇怪。在函数process_output()的语句
EXEC SQL GET DESCRIPTOR 'output_descriptor' VALUE :occurs
     :data = DATA, :indi = INDICATOR;
     ~~~~~~~~~~~~这部分得不到数据的值,而手册上明明说了descriptor的item name DATA是the data value而且我也找不到其他的item name更像数据的值了这是为何?假设有表为 create table tt (ch char(20));
运行实例如下:
SQL> select :a from tt;Enter value for input variable          A: ch:A
ch
ch
ch:A下面的三行ch是不是应该是tt表中的值????

解决方案 »

  1.   

    Pro*C/C++ 主要是怎么用,我一直都感到迷惑?
      

  2.   

    我又试验了一下,如果输入类似下面的语句是可以行的通的:
    SQL>  select * from  tt where ch = :a;
     
    Enter  value  for  input  variable                    A:  xxx
     
    :A  
    xxx是不是动态SQL不能支持运行时输入的表名和列名啊???
    如果这样,那还要动态SQL干啥。