I have a set of SQL like and I would like to convert it to function or a stored procedure in an automated way:
x
create table test as
select * from test1;
DELETE FROM test
WHERE
e_id LIKE '%00-01';
MERGE INTO test tgt USING (
SELECT
LISTAGG(e_val, ':') WITHIN GROUP(
ORDER BY
e_id
) OVER(PARTITION BY unique_id, line) e_val,
CASE WHEN e_id IN ('BHT03-02', 'BHT03-03') THEN 'Y' ELSE 'N' END del
FROM
test
WHERE
e_id IN (
'ABC03-01'
)
) src ON (
tgt.unique_id = src.unique_id
AND tgt.line = src.line
AND tgt.e_id = src.e_id
)
WHEN MATCHED THEN
UPDATE
SET
tgt.e_value = src.e_value DELETE
WHERE
src.del = 'Y';
Is there any easy way of creating a stored procedure or function using this?
Advertisement
Answer
You can just enclose this code between procedure definition
example
create or replace procedure do_some_work
as
begin
--paste your code here;
end;
you can run this procedure by calling it :
EXEC do_some_work;