Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2
USE DATABASE TUTORIAL_DB;
USE SCHEMA PUBLIC;
CREATE OR REPLACE PROCEDURE demo1(message VARCHAR)
RETURNS VARCHAR NOT NULL LANGUAGE SQL AS $$ BEGIN RETURN message; END; $$ ;
CAll demo1('Hello From Academy of data');
Select * from CUSTOMER limit 10;
CREATE OR REPLACE PROCEDURE demo2(id VARCHAR)
RETURNS TABLE (name varchar) LANGUAGE SQL AS DECLARE result RESULTSET DEFAULT (SELECT c_first_name||c_last_name as name FROM CUSTOMER WHERE c_customer_sk = :id); BEGIN RETURN TABLE(result); END;
Call demo2(75856526);
CREATE OR REPLACE PROCEDURE demo3(id VARCHAR)
RETURNS TABLE (name varchar) LANGUAGE SQL AS DECLARE select_statement VARCHAR; res RESULTSET; BEGIN select_statement := 'SELECT c_first_name||c_last_name as name FROM CUSTOMER WHERE c_customer_sk = ' || id; res := (EXECUTE IMMEDIATE :select_statement); RETURN TABLE(res); END;
Call demo3(75856526);
CREATE OR REPLACE PROCEDURE demo4(table_name VARCHAR)
RETURNS INTEGER NOT NULL LANGUAGE SQL AS $$ DECLARE row_count INTEGER DEFAULT 0; res RESULTSET DEFAULT (SELECT COUNT(*) AS COUNT FROM IDENTIFIER(:table_name)); c1 CURSOR FOR res; BEGIN FOR row_variable IN c1 DO row_count := row_variable.count; END FOR; RETURN row_count; END; $$ ;