Skip to content

Instantly share code, notes, and snippets.

View hackvan's full-sized avatar
🇨🇴

Diego Camacho hackvan

🇨🇴
View GitHub Profile
@hackvan
hackvan / Obtener_Informacion_HTTP.sql
Last active March 31, 2020 22:16
PL/SQL Oracle: Ejemplo para realizar una solicitud de una página HTML.
create or replace procedure getInfoHTTP(pHost Varchar2
,pPort Varchar2
,pUrl Varchar2) is
req utl_http.req;
res utl_http.resp;
vResult CLOB;
begin
utl_http.set_transfer_timeout(30);
dbms_output.put_line('Request> URL: ' ||pUrl);
req := utl_http.begin_request(pUrl, 'GET', 'HTTP/1.1');
@hackvan
hackvan / arreglos_clave_valor.sql
Last active January 8, 2016 15:38
PL/SQL Oracle: Utilizar arreglos del tipo clave -> valor
Declare
pevc_codlibori sfci001t.codlibro%Type := 'PUC001';
pevc_codctaori sfci001t.codctaco%Type := '244001';
pevc_nivan1ori sfci019t.nivanal1%Type := 'TNEG';
pevc_codan1ori sfci019t.codniva1%Type := '1234';
pevc_nivan2ori sfci019t.nivanal2%Type := 'NIT';
pevc_codan2ori sfci019t.codniva2%Type := '5678';
pevc_nivan3ori sfci019t.nivanal3%Type := 'VIGE';
pevc_codan3ori sfci019t.codniva3%Type := '2016';
pevc_nivan4ori sfci019t.nivanal4%Type;
@hackvan
hackvan / getRespWebService.sql
Last active June 18, 2021 21:36
PL/SQL Oracle: Obtener información JSON de un Web Service.
Create Or Replace Procedure getRespWebService(pevc_url In Varchar2) Is
l_http_request utl_http.req;
l_http_response utl_http.resp;
l_response_text Clob;
l_content_type Varchar2(100);
l_IpAddress Varchar2(16);
l_Port Varchar2(10);
l_list json_list;
-- Variables del JSON de respuesta:
tipoDocumental Varchar2(200);
@hackvan
hackvan / example-continue.sql
Created May 16, 2016 16:49
PL/SQL Oracle: Uso de la instrucción "continue" en un ciclo For.
Declare
Cursor cuprincipal Is
Select '1' as Data From dual
Union
Select '2' as Data From dual
Union
Select '3' as Data From dual
Union
Select '4' as Data From dual
Union
@hackvan
hackvan / getCodeSeq.sql
Created May 18, 2016 13:28
PL/SQL Oracle: Ejemplo del uso del "For Update Of" y "Current Of"
Create Or Replace Function getCodSeq(xcodseque In Varchar2,xtam In Number Default Null) Return Varchar2 Is
xvalseque sfad012t.valseque%Type;
xcodprefi sfad012t.codprefi%Type;
xseque Varchar2(50);
Cursor c1 Is
Select nvl(valseque, 0) + nvl(incseque, 1), codprefi
Into xvalseque, xcodprefi
From sfad012t
Where codseque = xcodseque
For Update Of valseque;
@hackvan
hackvan / exception_init.sql
Created May 18, 2016 13:56
PL/SQL Oracle: Ejemplo con el uso del "Pragma Exception_Init"
Create Or Replace Procedure do_something(pevc_codbanco In Varchar2) Is
row_locked Exception;
Pragma Exception_Init(row_locked, -54); -- ORA-00054: recurso ocupado y obtenido con NOWAIT especificado o timeout vencido
Begin
For cc In (Select codbanco From sfcp005t Where codbanco = pevc_codbanco For Update Nowait) Loop
Exit;
End Loop;
Exception
When row_locked Then
raise_application_error(-20001, 'this row is locked...', False);
@hackvan
hackvan / DDL_test_table.sql
Created May 18, 2016 14:35
PL/SQL Oracle: Ejemplo del uso de la sentencia FOLLOWS en los triggers
CREATE TABLE test (
testcol VARCHAR2(15));
INSERT INTO test VALUES ('dummy');
COMMIT;
@hackvan
hackvan / cycle-with-dinamic-query.sql
Created July 22, 2016 17:30
PL/SQL Oracle: Ejemplo de ciclos con consultas dinamicas
Declare
Type type_cursor Is Ref Cursor;
cu_query type_cursor;
lc_query Varchar2(500);
lc_codindic SFPS020T.codindic%Type;
lc_valindic SFPS020T.valindic%Type;
lc_desindic SFPS020T.desindic%Type;
Begin
lc_query := 'Select codindic, valindic, desindic';
lc_query := lc_query||' From SFPS020T';
@hackvan
hackvan / zsh.md
Last active September 15, 2016 02:37 — forked from tsabat/zsh.md
Getting oh-my-zsh to work in Ubuntu
@hackvan
hackvan / define_exception_for_currval.sql
Created February 23, 2017 16:53
How to create a custom exception for the use of CURRVAL on sequences.
Declare
nextvalnotfound Exception;
Pragma Exception_Init(nextvalnotfound, -08002);
lc_secuencia Number;
Begin
SELECT sfps010s.currval INTO lc_secuencia FROM dual;
Exception
When nextvalnotfound Then
dbms_output.put_line('NextVal is not found it!');
When Others Then