(8.0.29)
調べた限りなし
(19c)
https://docs.oracle.com/cd/F19136_01/lnpls/plsql-source-text-wrapping.html#GUID-AB6FFBAD-DE20-4197-A885-AF81F3766FA2
https://www.shift-the-oracle.com/utility/wrap.html
WRAP ユーティリティ
vi proc1.sql
create or replace procedure proc1
as
begin
dbms_output.put_line('hello, world!');
end;
/
vi proc2.sql
create or replace procedure proc2
as
begin
dbms_output.put_line('hello, world!');
end;
/
wrap iname=proc2.sql
cat proc1.sql
cat proc2.sql
cat proc2.plb
set serveroutput on
@proc1.sql
@proc2.plb
exec proc1
exec proc2
select text from user_source
where name = 'PROC1'
order by line
;
select text from user_source
where name = 'PROC2'
order by line
;
(14)
https://www.cybertec-postgresql.com/en/products/plpgsql_sec-encrypt-source-code/
PL/pgSQL_sec
という製品がCYBERTECから販売されている模様
(2019)
https://sqlserverwarrior.wordpress.com/2017/09/05/obfuscatingencrypting-your-sql-server-t-sql-code/
create or alter procedure proc1
as
begin
print 'hello, world!';
end
go
create or alter procedure proc2
with encryption
as
begin
print 'hello, world!';
end
go
exec proc1;
exec proc2;
select definition
from sys.sql_modules
where object_id = object_id('proc1')
;
select definition
from sys.sql_modules
where object_id = object_id('proc2')
;
exec sp_helptext proc1;
exec sp_helptext proc2;