标题:pb select 语句问题
只看楼主
slash1984
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-26
 问题点数:0 回复次数:9 
pb select 语句问题

我想实现实现这样的功能
select aa into :aa from aa where...
其中where后面的条件是动态的,可能在一个变量中,比如vs_filter中
但是 sql='select aa into :aa from aa where'+vs_filter
execute immediate:sql;
也是不正确的,请问大虾们,怎么解决?

搜索更多相关主题的帖子: select 语句 
2007-06-28 17:23
sam2080
Rank: 2
等 级:新手上路
威 望:3
帖 子:111
专家分:0
注 册:2007-6-28
得分:0 
你的方法好象不行吧,可以考虑结合数据窗datawindow或者datastore来实现
1、写好SQL语句select aa from aa where .....就不用写into了
2、把该语句设置为datawindow或者datastore的语法
3、取datawindow或者datastore的行数

其他不知道有没有更简单的方法,各位多多提意见
2007-06-29 12:17
ugly927846
Rank: 2
等 级:新手上路
威 望:4
帖 子:90
专家分:0
注 册:2007-6-29
得分:0 
应该可以的啊

pb交流群:23037600软件设计师24088104
[url=http://hi.baidu.com/ugly927846] 版主博客[/url]
2007-06-29 19:47
slash1984
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-26
得分:0 

晕,问题仍然没有解决

2007-07-03 08:39
路過
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:160
专家分:111
注 册:2006-12-15
得分:0 
sql='select aa from aa where'+vs_filter
execute immediate:sql;

2007-07-03 09:09
sam2080
Rank: 2
等 级:新手上路
威 望:3
帖 子:111
专家分:0
注 册:2007-6-28
得分:0 
楼上,他语句里有into的语法,不能这样实现
2007-07-04 16:21
千金散尽
Rank: 1
等 级:新手上路
威 望:2
帖 子:55
专家分:0
注 册:2007-5-23
得分:0 
sql='select aa from aa where'+vs_filter
execute immediate:sql;
最权威的答案,五楼的

才明白但已经晚了,希望结识想创业的朋友。
2007-07-04 22:12
sam2080
Rank: 2
等 级:新手上路
威 望:3
帖 子:111
专家分:0
注 册:2007-6-28
得分:0 

2007-07-05 10:00
slash1984
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-26
得分:0 

这个我知道,关键是我想把查到的数据写到一个变量里,怎么办,用into :aa又不正确,大家怎么不明白我的意思。

2007-07-06 08:27
路過
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:160
专家分:111
注 册:2006-12-15
得分:0 


string sql,ls_filter,ls_end,ls_code
ls_filter = "dor_code = '001'"

//下句的sql缺點:只能返回一筆數據。
sql ="select ratem.dor_nm from ratem where "+ls_filter+" "

DECLARE CUR_PERWK DYNAMIC CURSOR FOR SQLSA ;
PREPARE SQLSA FROM :sql ;
OPEN DYNAMIC CUR_PERWK ;
FETCH CUR_PERWK INTO :ls_end ;


//處理數據
do while sqlca.sqlcode =0

INSERT INTO "test"
( "name",
"number",
"month",
"no" )
VALUES ( :ls_end,
66,
'',
'' ) ;

FETCH CUR_PERWK INTO :ls_end ;
loop;
CLOSE CUR_PERWK ;

if sqlca.sqlcode =0 then
commit;
MESSAGEBOX("提示",string(ls_end))
else
rollback;
messagebox("提示","錯誤~為:"+sqlca.sqlerrtext)
end if


2007-07-06 15:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-151088-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.494260 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved