Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12902|Respuesta: 1

[Fuente] Cursores normales de oráculo, cursores implícitos y cursores parametrizados

[Copiar enlace]
Publicado en 19/3/2015 10:53:06 | | |
seleccionar * de stuinfo;
--Cursor implícito
Comienzo
    dbms_output.put_line('Before-query:'|| sql%rowcount);
    Actualizar conjunto Stuinfo Stusex = 'femenino';
    dbms_output.put_line('Después de la consulta:'|| sql%rowcount);
fin;

--cursor explícito
--1. Común
declarar
    cursor mycur1 es select * desde stuinfo; --definen los cursores
    --v_id stuinfo.stuid%type;
    --v_name stuinfo.stuname%type;
    --v_sex stuinfo.stusex%type;
    --v_bir stuinfo.stubir%type;
    v_row stuinfo%rowtype;
Comienzo
    abre MyCur1; --Cursor abierto
    Bucle
    --obtener mycur1 en v_id,v_name,v_sex,v_bir; --Mueve el cursor hacia abajo para poner el valor de lectura en la variable
    Obtén mycur1 en v_row; --Leer cursor
    salir cuando mycur1%notfound;
    --dbms_output.put_line('id:'|| v_id||', nombre: '|| v_name||', género: '|| v_sex||' Cumpleaños: '|| v_bir); --Resultado de salida
    dbms_output.put_line('id:'|| v_row.stuid||', nombre: '|| v_row.stuname||', género: '|| v_row.stusex||' Cumpleaños: '|| v_row.stubir);
    bucle final;
    cerrar mycur1; --Apaga el cursor
fin;

--2. Versificador con parámetros
declarar
    cursor mycur1(v_sex stuinfo.stusex%type) se selecciona * de stuinfo donde stusex = v_sex; --definen los cursores
    v_row stuinfo%rowtype;
Comienzo
    abre mycur1('&género'); --Cursor abierto
    Bucle
    Obtén mycur1 en v_row; --Leer cursor
    salir cuando mycur1%notfound;
    dbms_output.put_line('id:'|| v_row.stuid||', nombre: '|| v_row.stuname||', género: '|| v_row.stusex||' Cumpleaños: '|| v_row.stubir);
    bucle final;
    cerrar mycur1; --Apaga el cursor
fin;

--3. Cursor circular
declarar
    cursor mycur1 es select * desde stuinfo; --definen los cursores
Comienzo
    para v_row en mycur1
    Bucle
        dbms_output.put_line('id:'|| v_row.stuid||', nombre: '|| v_row.stuname||', género: '|| v_row.stusex||' Cumpleaños: '|| v_row.stubir);
    bucle final;
fin;

--4. Actualizar los datos con el cursor
declarar
    cursor mycur1 es select * de stuinfo para actualización; --definen los cursores
Comienzo
    para v_row en mycur1
    Bucle
        si v_row.stuid = '003' entonces
           eliminar de stuinfo donde está vigente mycur1;
        si no,
           Actualizar el conjunto StuInfo Stusex = 'Masculino' donde está actual MyCur1;
        fin si;
    bucle final;
fin;

seleccionar * de stuinfo;
Actualizar el conjunto Stuinfo Stusex = 'Female' donde Stuid = '002';

--cursor de referencia
--1. Tipo débil
declarar
    el tipo curname es cursor de ref; --definir un tipo de cursor (curname es el nombre del tipo)
    mycur1 curname; --
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
    v_row2 subinfo%rowtype;
Comienzo
    v_sex := '& género';
    si v_sex = 'masculino' entonces
       Abre MyCur1 para seleccionar * de Stuinfo donde Stusex = 'masculino';
        Bucle
        Obtén mycur1 en v_row; --Leer cursor
        salir cuando mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nombre: '|| v_row.stuname||', género: '|| v_row.stusex||' Cumpleaños: '|| v_row.stubir);
        bucle final;
    si no,
       Abre MyCur1 para seleccionar * desde subinfo;
       Bucle
        Obtén mycur1 en v_row2; --Leer cursor
        salir cuando mycur1%notfound;
        bucle final;
    fin si;
    cerrar mycur1; --Apaga el cursor
fin;
selecciona * desde subinfo;

--Tipo fuerte
declarar
    Tipo curname es cursor ref return stuinfo%rowtype;
    mycur1 curname;
    v_sex stuinfo.stusex%type;
    v_row stuinfo%rowtype;
Comienzo
    v_sex := '& género';
    si v_sex = 'masculino' entonces
       Abre MyCur1 para seleccionar * de Stuinfo donde Stusex = 'masculino';
    si no,
       Abre MyCur1 para seleccionar * de StuInfo donde Stusex = 'Femenino';
    fin si;

    Bucle
        Obtén mycur1 en v_row; --Leer cursor
        salir cuando mycur1%notfound;
        dbms_output.put_line('id:'|| v_row.stuid||', nombre: '|| v_row.stuname||', género: '|| v_row.stusex||' Cumpleaños: '|| v_row.stubir);
    bucle final;
    cerrar mycur1; --Apaga el cursor
fin;







Anterior:"Wealth and Chess Game" - revelando la historia interna del amor, el trabajo y el examen de acceso a posgrado
Próximo:php5.2.17 necesita cambiar el valor de cgi.force_redirect de 1 a 0 al instalarse
Publicado en 19/3/2015 11:21:08 |
Apartado lesson6.rar (920 Bytes, Número de descargas: 0)
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com