File: procedur.sql

package info (click to toggle)
solid-desktop 2.2-3
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 3,620 kB
  • ctags: 2,830
  • sloc: sh: 290; sql: 80; makefile: 64
file content (61 lines) | stat: -rw-r--r-- 1,422 bytes parent folder | download
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;