Generando un código en Oracle 11G

Imagen de pepochs

Tema: 

PRIMERO CREAR LA TABLA "CATEGORIA".

CREATE TABLE "CATEGORIA" 
   (    "C_CATEGORIA" VARCHAR2(2 BYTE), 
    "X_DESCRIPCION" VARCHAR2(25 BYTE)
   ) 

SEGUNDO CREAR UNA LLAVE PRIMARIA.

alter table "CATEGORIA" add constraint "CATEGORIA_CON" primary key ("C_CATEGORIA");

TERCERO CREAR LA FUNCIÓN GENERAR_CODIGO.

create or replace FUNCTION GENERAR_CODIGO RETURN VARCHAR2 AS 
  MAX1 VARCHAR2(2):='';
  MAX2 VARCHAR2(2):='';
BEGIN
  SELECT MAX(C_CATEGORIA) INTO MAX1 FROM CATEGORIA;
  
  MAX2 := LPAD(TO_NUMBER(NVL(MAX1,0))+1,2,'0');

  RETURN MAX2;
END GENERAR_CODIGO;

CUARTO EJECUTAR LA FUNCIÒN GENERAR_CODIGO.

BEGIN
 DBMS_OUTPUT.PUT_LINE('NUEVO CÓDIGO: ' || GENERAR_CODIGO);
END;
 

Comentarios