|
|
| version 1.51, 2004/06/23 08:59:52 | version 1.104, 2005/11/22 11:31:58 |
|---|---|
| Line 1 | Line 1 |
| @main[] | ^for[i](1;100){ |
| ^connect[oracle://mts_imprimatur2:imp2@mts]{ | <hr> |
| # ^in[] | $original[^for[j](1;$i){$j}] |
| # ^out[] | $original[^file::create[text;original.txt;$original]] |
| # ^inout[] | $original.text |
| # ^ex[] | <br> |
| # ^ex2[] | $encoded[^original.base64[]] |
| # ^ex3[] | $encoded |
| ^ex4[] | <br> |
| OK | $decoded[^file::base64[$encoded]] |
| $decoded.text | |
| ^if($decoded.text ne $original.text){^throw[bug;here]} | |
| } | } |
| @inp[] | |
| create table pif(a integer); | |
| create or replace procedure paf(a in integer) as begin | |
| insert into pif (a) values (:a); | |
| end; | |
| / | |
| @in[] | |
| # ^void:sql{create table paf(a clob)} | |
| # ^void:sql{insert into paf (a) values (/**a**/'a')} | |
| # ^void:sql{insert into paf (a) values (:unk)} | |
| ^void:sql{delete from pif} | |
| ^void:sql{call paf(:a)}[ | |
| $.bind[ | |
| $.a[2] | |
| ] | |
| ] | |
| ^int:sql{select count(*) from pif} | |
| "^string:sql{select a from pif}" | |
| # ^string:sql{select a from paf} | |
| @outp[] | |
| create or replace procedure pafm(ai in integer,ao out integer) as begin | |
| ao:=ai; | |
| end; | |
| / | |
| @out[] | |
| $vars[ | |
| $.ai(2222) | |
| $.ao[sad] | |
| ] | |
| ^void:sql{call pafm(:ai,:ao)}[ | |
| $.bind[$vars] | |
| ] | |
| "$vars.ai" | |
| "$vars.ao" | |
| # ^string:sql{select a from paf} | |
| @inoutp[] | |
| create or replace procedure pafio(aio in out integer) as begin | |
| aio:=aio*2; | |
| end; | |
| / | |
| @inout[] | |
| $vars[ | |
| $.aio(2222) | |
| ] | |
| before "$vars.aio"<br> | |
| ^void:sql{call pafio(:aio)}[ | |
| $.bind[$vars] | |
| ] | |
| after "$vars.aio" | |
| # ^string:sql{select a from paf} | |
| @exp[] | |
| create or replace procedure pafex is | |
| begin | |
| DECLARE | |
| out_of_stock EXCEPTION; | |
| begin | |
| raise out_of_stock; | |
| end; | |
| end; | |
| / | |
| @ex[] | |
| ^void:sql{ | |
| begin | |
| pafex^; | |
| end^; | |
| } | |
| @ex[] | |
| ^void:sql{call pafex()} | |
| @exp2[] | |
| create or replace procedure pafex2 is | |
| begin | |
| raise ZERO_DIVIDE; | |
| end; | |
| / | |
| @ex2[] | |
| ^void:sql{call pafex2()} | |
| @exp3[] | |
| create or replace procedure pafex3 is | |
| begin | |
| DECLARE | |
| out_of_stock EXCEPTION; | |
| PRAGMA EXCEPTION_INIT(out_of_stock, -333); | |
| begin | |
| raise out_of_stock; | |
| end; | |
| end; | |
| / | |
| @ex3[] | |
| ^void:sql{call pafex3()} | |
| @exp4[] | |
| create or replace procedure pafex4 is | |
| begin | |
| raise_application_error(-20444, 'Salary is missing'); | |
| end; | |
| / | |
| @ex4[] | |
| ^void:sql{call pafex4()} | |