Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/11/2013, 15:53
Avatar de kike00
kike00
 
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: funcion con varios inserts

Hola,

para comenzar deberías de leer un poco sobre los tipos de datos en Oracle y hagas tú una comparación entre ambos motores. Por ejemplo, si en postgresql usabas Interger para los numeros enteros, en Oracle puedes usar NUMBER, o para cadenas usar VARCHAR2 y así... eso es lo más básico que debes ver.

Nunca he trabajado con procedimientos almacenados/funciones en Postgresql, pero al menos en Oracle si creas una función debes crearla dentro de un paquete. Los paquetes son objetos contenedores, tanto de funciones como procedimientos.

Código SQL:
Ver original
  1. CREATE OR REPLACE
  2. package MI_PAQUETE_PKG IS
  3.  
  4.     FUNCTION MI_FUNCION(PARAM1 NUMBER,
  5.                         PARAM2 VARCHAR2) RETURN VARCHAR2;
  6.  
  7.  
  8.     FUNCTION MI_FUNCION2(PARAM1 NUMBER,
  9.                          PARAM2 VARCHAR2) RETURN VARCHAR2;
  10.  
  11. END MI_PAQUETE_PKG;
[/CODE]


Código SQL:
Ver original
  1. CREATE OR REPLACE
  2. PACKAGE BODY MI_PAQUETE_PKG AS
  3.  
  4.   FUNCTION MI_FUNCION(PARAM1 NUMBER,
  5.                       PARAM2 VARCHAR2) RETURN VARCHAR2 AS
  6.     V_VAR1 VARCHAR2;
  7.  
  8.   BEGIN
  9.     PARAM1 := 2+2; --hacer alguna operación
  10.  
  11.     PARAM2 := 'hola mundo';
  12.     V_VAR1 := PARAM2 || ' HOLA'; --asignación y concatenar
  13.  
  14.     RETURN V_VAR1;
  15.  
  16.   END MI_FUNCION;
  17.  
  18.  
  19.   FUNCTION MI_FUNCION2(PARAM1 NUMBER,
  20.                       PARAM2 VARCHAR2) RETURN VARCHAR2 AS
  21.  
  22.     V_VAR1 VARCHAR2;
  23.   BEGIN
  24.     V_VAR1 := "Hola mundo":
  25.     RETURN V_VAR1;
  26.   END MI_FUNCION;
  27.  
  28. END MI_PAQUETE_PKG;
[/CODE]

Última edición por gnzsoloyo; 21/11/2013 a las 16:18 Razón: Por favor, USAR LOS HIGHLIGHT.