Resultados 1 al 8 de 8

Tema: ABC con Procedimientos Almacenados Oracle

  1. #1
    Pajarito Nuevo
    Fecha de ingreso
    14 Jan, 10
    Mensajes
    3

    Cool ABC con Procedimientos Almacenados Oracle

    Mis estimados entendidos en Oracle...
    Les agradeceria mucho si puedieran poner un ejemplo basico para hacer Altas, bajas y modificaciones , mediante el uso de procedimientos almacenados en Oracle...

  2. #2

    Avatar de Zuljin
    Fecha de ingreso
    15 Jan, 04
    Mensajes
    6,506

    Re: ABC con Procedimientos Almacenados Oracle

    Altas, bajas y modificaciones de qué?

    http://www.arriendoenlaplaya.cl

    Asábado + Playstation 3 a beneficio, sábado 10 de mayo, info acá
    http://www.chw.net/foro/off-topic/10...las-rejas.html


  3. #3
    Pajarito Nuevo
    Fecha de ingreso
    14 Jan, 10
    Mensajes
    3

    Re: ABC con Procedimientos Almacenados Oracle

    Pues me explico mejor:
    Quisiera un ejemplo de como hacer una alta, una baja y una modificacion de una tabla cualquiera, por ejemplo la tabla
    CREATE TABLE PERSONA
    (
    IDPER NUMBER NOT NULL,
    NOMBREPER VARCHAR2(50) NOT NULL,
    PATERNOPER VARCHAR2(50) NOT NULL,
    MATERNOPER VARCHAR2(50),
    FECHANACPER DATE,
    SEXOPER VARCHAR2(5) DEFAULT 'M',
    NITCIPER VARCHAR2(20)
    )
    pero para la misma quisiera utilizar procedimientos almacenados, estoy trabajando con Oracle 7 y Developer 2000 y resulta que no puedo o no me acepta el paso de parametros desde el form designer a mi procedimiento almacenado.
    Por lo cual quisiera abusar de su amabilidad y pedirles me colaboren con un ejemplo basico de adicion, modificacion y eliminacion mediante el uso de procedimientos almacenados.

  4. #4
    Pajarito Nuevo Avatar de modderclocker
    Fecha de ingreso
    14 Feb, 07
    Ubicación
    ConSEDcioN
    Mensajes
    51

    Re: ABC con Procedimientos Almacenados Oracle

    pero para hacer DML desde procedimientos almacenados necesitas si o si parámetros... yo creo que la solución sería ver que ocurre con el form que no te permite pasar los parametros...

    busca por el código de error que te envía... (ojalá no sea erro 900 XD!!!!)
    AMD Athlon 64 3000+ core venice 1800@2430 Mhz
    MSI K8N Neo4 Platinum (nforce4 ultra)
    Kingston PC3200 2Gb (440Hz)
    Sapphire ATI Radeon X1600 Pro 256Mb Pci-ex / LG LCD 17"
    HDD WD SATA2 160 Gb 8Mb Buffer 7200 Rpm

    PlayStation3 Slim 120GB + 3x DualShock3
    LCD 37" Full HD Samsung

  5. #5
    Pajarito Nuevo
    Fecha de ingreso
    14 Jan, 10
    Mensajes
    3

    Re: ABC con Procedimientos Almacenados Oracle

    Mira mi estimado amigo mi error es el 40508, pero no comprendo si todo parece muy bien, de todas formas subo mi codigo y me dices cual el problema por favor...
    Mi procedimiento almacenado es:

    CREATE OR REPLACE PROCEDURE CONTAPRUEBA09.xxxadipersona (
    idpxxx IN VARCHAR2,
    nomperxxx IN VARCHAR2,
    patperxxx IN VARCHAR2,
    matperxxx IN VARCHAR2,
    fecnacperxxx IN VARCHAR2,
    sexperxxx IN VARCHAR2,
    nitciperxxx IN VARCHAR2,
    salida IN OUT VARCHAR2
    )
    AS
    BEGIN
    salida:=idpxxx||' '||nomperxxx||' '||patperxxx||' '||matperxxx||' '||TO_DATE(fecnacperxxx,'dd-mm-rr')||' '||sexperxxx||' '||nitciperxxx;
    INSERT INTO xxx_persona
    (idper, nombreper, paternoper, maternoper, fechanacper,
    sexoper, nitciper
    )
    VALUES (TO_NUMBER(idpxxx), nomperxxx, patperxxx, matperxxx, TO_DATE(fecnacperxxx,'dd-mm-rr'),
    sexperxxx, nitciperxxx
    );
    END xxxadipersona;
    /


    mi funcion es:

    CREATE OR REPLACE FUNCTION ultimoidpersona (nombretabla VARCHAR2 DEFAULT 'J@vy')
    RETURN VARCHAR2
    IS
    ultimoidp VARCHAR2(10);
    BEGIN
    SELECT MAX(idper)+1 INTO ultimoidp
    FROM xxx_persona;

    RETURN (ultimoidp);
    EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
    RETURN 0;
    END;



    y mi codigo(dentro de Forms Designer de Developer 2000) donde realizo la llamada es:


    DECLARE
    cadNombre VARCHAR2(50);
    cadPaterno VARCHAR2(50);
    cadMaterno VARCHAR2(50);
    cadFechanac VARCHAR2(50);
    cadNitci VARCHAR2(20);
    cadSexo VARCHAR2(5);
    cadNuevoID VARCHAR2(10);
    cadTODO VARCHAR2(1000);
    cadRegreso VARCHAR2(1000);
    BEGIN
    cadNombre := :NOMBREPER;
    cadPaterno := ATERNOPER;
    cadMaterno := :MATERNOPER;
    cadFechanac := :FECHANACPER;
    cadNitci := :NITCIPER;
    cadSexo := :BLKPERSONA.SEXOPER;
    cadNuevoID := ultimoIDPersona('J@vy');
    cadTODO := cadNombre ||' '|| cadPaterno ||' '|| cadMaterno ||' '|| cadNitci ||' '|| cadSexo ||' '|| cadFechanac ||' '|| cadNuevoID;
    :TXT := cadTODO;
    xxxADIPERSONA(cadNuevoID, 'Xabier', 'Ali', 'Caballero', '09/08/79', 'M', '4883597',cadRegreso);
    -- xxxADIPERSONA(cadNuevoID, cadNombre, cadPaterno, cadMaterno, cadFechanac, cadSexo, cadNitci);
    COMMIT;
    :TXTSALIDA:=cadRegreso;
    END;


    cuando ejecuto esto me sale el pinche error que dice

    FRM-40508: ORACLE error: unable to INSERT record.



    Ayuda por favor...

  6. #6
    Pajarito Nuevo
    Fecha de ingreso
    10 Jun, 10
    Mensajes
    2

    Re: ABC con Procedimientos Almacenados Oracle

    hola yo te recomendaria que te instales Oracle Database XE y que te bajes el TOAD for Oracle, creo que asi te andaría.

  7. #7
    Pajarito Nuevo Avatar de Porlachucha
    Fecha de ingreso
    04 Sep, 07
    Mensajes
    35

    Re: ABC con Procedimientos Almacenados Oracle

    verifica en las propiedades de la tabla, si las columnas de la tabla que estas haciendo el insert, tengan bien seteado el atributo changed it to non-database. Ese error por lo general da cuando una entidad que no es la BD intenta modificar la informacoin almacenada en una tabla.
    Plch
    Terremoto del orrrrto, distruiste mi oficina disgraciaoooo

    go, and wash u ass hole with Zapolio

  8. #8
    r1d
    r1d está desconectado
    Pajarito Nuevo Avatar de r1d
    Fecha de ingreso
    21 Jun, 10
    Ubicación
    España
    Mensajes
    5

    Re: ABC con Procedimientos Almacenados Oracle

    Puedes verificar que estás ejecutando con el mismo usuario al que pertenece la tabla el form... de todos modos prueba esto:

    agrega control de errores al procedimiento y a la función... (no_Data_found, dup_val_on_index, others.... ) y escribe cualquier posible error en el dbms_output (o create una tabla temporal donde puedes insertar el valor de sqlerrm en caso de excepción...) de este modo podrás acotar mas facilmente donde está el error.

    ultimoidp VARCHAR2(10); --> debería ser numérico?

    el commit en el form.. debería estar en el procedimiento?....

    Saludos,
    r1d

Temas similares

  1. Procedimientos Almacenados SQL2005
    Por Venice en el foro Bases de Datos
    Respuestas: 9
    Último mensaje: 19/11/2009, 08:48
  2. como recupero los procedimientos almacenados de mysql??
    Por alterus en el foro Bases de Datos
    Respuestas: 2
    Último mensaje: 12/04/2009, 16:03
  3. Procedimientos almacenados mysql???
    Por Black_swan en el foro Lenguajes de Programación
    Respuestas: 37
    Último mensaje: 14/09/2008, 16:49
  4. ayuda con oracle y procedimientos almacenados
    Por l_suicide_l en el foro Lenguajes de Programación
    Respuestas: 7
    Último mensaje: 07/01/2008, 10:22
  5. Ayudita1) duda con Procedimientos almacenados en sql server
    Por sper en el foro Lenguajes de Programación
    Respuestas: 0
    Último mensaje: 17/02/2006, 17:04

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*