有关运算
我将条件作为一个表A的字段 如:X>3
在另一个表B中有一字段X 判断表B中X是否满足表A中条件
如:A(CONT,VALUE,OUTPUT),B(AMOUNT,MODEL,THICKNESS,VALUE)
UPDATE B
SET AMOUNT=(B.VALUE-A.VALUE)*OUTPUT
FROM A,B
WHERE CONT
CONT为表A中一个条件字段 如:B.MODEL='14' AND B.THICKNESS<=14
请问能否实现这样的功能?
若能 如何做?
问题点数:100、回复次数:4Top
1 楼xiaobzg(小兵张嘎)回复于 2002-09-28 17:06:44 得分 40
先把条件取出来
select count into :ls_aa from a
ls_syntax = 'UPDATE B SET AMOUNT=(B.VALUE-A.VALUE)*OUTPUT FROM A,B WHERE '+ ls_aa
sqlca.auotcommit = false;
execute immediate :ls_syntax;
if sqlca.sqlcode <> 0 then
......
Top
2 楼balloonman2002()回复于 2002-09-28 17:37:03 得分 40
可以,利用execute immediately 即可:
如:
string ls_con,ls_sql
ls_con=...
//上句获取A的CONT值,略;
ls_sql="UPDATE B SET AMOUNT=(B.VALUE-A.VALUE)*OUTPUT FROM A,B WHERE "+ls_con
execute immediately :ls_sql;Top
3 楼LittleDot88(小不点)回复于 2002-09-29 10:53:35 得分 10
用动态sql语句。以上两位说的很对!Top
4 楼dzqgold(dzqgold)回复于 2002-09-29 11:19:34 得分 10
都在上边了,我来晚了。Top




