Last active
January 28, 2023 16:43
-
-
Save leosuncin/5b2b99740ea79f5f761bfb300d2b4fd8 to your computer and use it in GitHub Desktop.
Resumen de consultas PL/SQL para Oracle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Consultar usuarios loggeados | |
SELECT USERNAME FROM V$SESSION; | |
-- Consultar el usuario actual | |
SELECT user FROM dual; | |
SELECT SYS_CONTEXT('USERENV', 'CURRENT_USER') FROM dual; | |
-- Consultar la fecha actual | |
SELECT TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "NOW" FROM DUAL; | |
-- Crear indice | |
CREATE INDEX | |
NOMBRE_INDICE | |
ON | |
NOMBRE_TABLA ( | |
COLUMNA1, | |
COLUMNA2 | |
); | |
-- Eliminar indice | |
DROP INDEX NOMBRE_INDICE; | |
-- Crear trigger | |
CREATE OR REPLACE TRIGGER NOMBRE_TRIGGER | |
[BEFORE | AFTER | INSTEAD OF] | |
[INSERT | DELETE | UPDATE | UPDATE OF (COL1, COL2)] [OR [INSERT | DELETE | UPDATE | UPDATE OF (COL1, COL2)]] | |
ON [BASE_DATOS | NOMBRE_TABLA] | |
REFERENCING [OLD AS ANTERIOR | NEW AS NUEVO | PARENT AS PADRE] -- opcional | |
FOR EACH ROW -- opcional: para registros en tablas | |
WHEN (CONDICION) -- opcional | |
DECLARE [] -- opcional | |
BEGIN | |
EXCEPTION [] | |
END NOMBRE_TRIGGER; | |
/ | |
-- (Des)habilita trigger | |
ALTER TRIGGER NOMBRE_TRIGGER DISABLE | ENABLE; | |
ALTER TABLE NOMBRE_TABLA DISABLE | ENABLE ALL TRIGGER; | |
-- Eliminar un trigger | |
DROP TRIGGER NOMBRE_TRIGGER; | |
-- Consultar trigger | |
SELECT TRIGGER_TYPE, TRIGGER_BODY FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'NOMBRE_TRIGGER'; | |
-- Crear vista | |
CREATE OR REPLACE VIEW NOMBRE_VISTA AS SELECT... | |
-- Crear función | |
CREATE OR REPLACE FUNCTION NOMBRE_FUNCION | |
(ARGUMENTO [IN | OUT [NOCOPY] | IN OUT] TIPO) | |
RETURN TIPO | |
IS DECLARACION | |
BEGIN | |
-- Cuerpo | |
RETURN VALOR | |
EXCEPTION | |
WHEN TIPO THEN... | |
END | |
/ | |
-- Crear procedimiento | |
CREATE OR REPLACE PROCEDURE NOMBRE_PROCEDIMIENTO | |
(ARGUMENTO [IN | OUT [NOCOPY] | IN OUT] TIPO DEFAULT VALOR) | |
IS DECLARACION | |
BEGIN | |
-- Cuerpo | |
EXCEPTION | |
WHEN TIPO THEN... | |
END | |
/ | |
-- Ejecutar procedimiento | |
CALL NOMBRE_PROCEDIMIENTO(ARGUMENTOS); | |
-- Variables | |
-- * Escalar | |
-- VARCHAR2(longitud) | |
-- NUMBER(precision, escala) | |
-- DATE | |
-- CHAR(longitud) | |
-- LONG | |
-- BOOLEAN | |
-- BINARY_INTEGER | |
CONTADOR BINARY_INTEGER := 0; | |
OTRO_CONTADOR CONTADOR%TYPE := 10; | |
-- Funciones nativas | |
-- CHR(NUMERO ASCII) retorna el caracter ASCII | |
-- TO_CHAR() convierte a caracter | |
-- TO_DATE() convierte a fecha | |
-- TO_NUMBER() convierte a numero | |
-- ISNULL() manejar nulos | |
-- Cursores | |
-- SQL%ROWCOUNT | |
-- SQL%FOUND | |
-- SQL%NOTFOUND | |
-- SQL%ISOPEN | |
-- Condicional | |
IF CONDICION THEN | |
-- Cuerpo | |
ELSIF OTRA_CONDICION THEN | |
-- Otro cuerpo | |
ELSE | |
-- Si no | |
END IF; | |
-- Bucle | |
LOOP | |
-- Cuerpo | |
EXIT WHEN CONDICION | |
END LOOP; | |
-- For | |
FOR CONTADOR IN [REVERSE] INICIO..FIN LOOP | |
-- Cuerpo | |
END LOOP; | |
-- While | |
WHILE CONDICION LOOP | |
-- Cuerpo | |
END WHILE; | |
-- Registro | |
TYPE NOMBRE IS RECORD ( | |
-- Campos | |
) | |
IDENTIFICADOR NOMBRE; | |
-- Tabla | |
-- .EXISTS | |
-- .COUNT | |
-- .NEXT | |
-- .EXTEND | |
-- .FIRST | |
-- .LAST | |
-- .PRIOR | |
-- .TRIM | |
-- .DELETE | |
TYPE NOMBRE IS TABLE OF (CAMPOS)|TABLA.COL%ROWTYPE | |
INDEX BY BINARY_INTEGER; | |
IDENTIFICADOR NOMBRE; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment