1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
--/****************************************************************\
--** filename * procedur.sql
--** description * Stored procedure creation samples.
--** Copyright (C) Solid Information Technology Ltd 1997
--\****************************************************************/
-- A simple calculator procedure.
"create procedure calc(i1 float, op char(1),
i2 float)
returns (result float)
begin
declare i integer;
if op = '+' then
result := i1 + i2;
elseif op = '-' then
result := i1 - i2;
elseif op = '*' then
result := i1 * i2;
elseif op = '/' then
result := i1 / i2;
else
result := 'Error: illegal op';
end if
end";
-- Test calc procedure
call calc(1,'/',3);
-- Procedure returning backups created from this database.
"create procedure show_backups
returns (backup_number varchar, date_created varchar)
begin
-- First set action for failing statements.
exec sql whenever sqlerror rollback, abort;
-- Prepare and execute the select statement
exec sql prepare sel_cursor select
replace(property, 'backup ', ''),
substring(value_str, 1, 19) from sys_info
where property like 'backup %';
exec sql execute sel_cursor into (backup_number, date_created);
-- Fetch first row;
exec sql fetch sel_cursor;
-- Loop until end of table
while sqlsuccess loop
-- Return the fetched row
return row;
-- Fetch next
exec sql fetch sel_cursor;
end loop;
end";
call show_backups;
|