|
|
|
оракл функция
|
|||
|---|---|---|---|
|
#18+
в оракле есть функция:newkart return number is idd number; begin select max(extract(year from d_reg)) into idd from pg.karta; if idd = extract(year from sysdate) then select max(r_n) into idd from pg.karta WHERE extract(year from d_reg)= extract(year from sysdate); insert into pg.karta(r_n,d_reg) values (idd+1,sysdate); else insert into pg.karta(r_n,d_reg) values (1,sysdate); end if; select ks.currval into idd from dual; return idd; end; как ее в фоксе запустить и получить результат? пробовал так: ?SQLEXEC(t,'declare k number;begin k:=newkart end;') ?SQLEXEC(t,'declare k number;begin k:=newkart;return k; end;') ?SQLEXEC(t,'var k number;exec :k:=newkart;') ?SQLEXEC(t,'exec :k:=newkart;') ?SQLEXEC(t,'exec @k:=newkart;') ?SQLEXEC(t,'exec ?@k:=newkart;') ?SQLEXEC(t,'exec newkart;') ?SQLEXEC(t,'exec newkart();') не работает, в SQL+ работает: SQL> exec :k:=newkart(); Ïðîöåäóðà PL/SQL óñïåøíî çàâåðøåíà. SQL> print k K ---------- 2902 работает.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2008, 17:53 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=169&tid=1588141]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 381ms |

| 0 / 0 |
