string v1,v2
v1 = "asdf"
SELECT :v1 INTO :v2 FROM table1 Where (…………)
这个用法等同于 select 'asdf' into :v2 from table where (.....)
肯定为asdf.
如果v1为想取的列名,应用游标
ls_sql="select "+v1+"FROM table1 Where (…………) "
然后执行
记着给点分
首先,你的语法没有错误!
在PB的嵌入式SQL语句中,加“:”的标示符PB会认为这是PB程序中的变量!而你将这种标示符写在COL的位置,PB在向数据库传递语句的时候,会把她当做一个常量(相对于数据库说),所以,类似:
select 1
INTO :LI_INT
FROM TB
WHERE ****
当然,你得到的也就是这个常量!
你可以在PB与数据库交互的界面是一下:
select 1
INTO :LI_INT
FROM TB;
你会发现,TB表中有多少行,就会有多少个1。