Al ejecutar el siguiente código, solo dice que el procedimiento se completó y no imprime la información que quiero (nombre, apellido) y luego los otros valores de la consulta de selección en una tabla a continuación.
CREATE OR REPLACE PROCEDURE PRINT_ACTOR_QUOTES (id_actor char)
AS
CURSOR quote_recs IS
SELECT a.firstName,a.lastName, m.title, m.year, r.roleName ,q.quotechar from quote q, role r,
rolequote rq, actor a, movie m
where
rq.quoteID = q.quoteID
AND
rq.roleID = r.roleID
AND
r.actorID = a.actorID
AND
r.movieID = m.movieID
AND
a.actorID = id_actor;
BEGIN
FOR row IN quote_recs LOOP
DBMS_OUTPUT.PUT_LINE('a.firstName' || 'a.lastName');
end loop;
END PRINT_ACTOR_QUOTES;
/
Al configurar la salida del servidor, obtengo
a.firstNamea.lastName
a.firstNamea.lastName
a.firstNamea.lastName
a.firstNamea.lastName
¡varias veces!
fuente
set serveroutput on
comando antes de ejecutar el procedimiento en SQL * Plus.SELECT
declaración en el símbolo del sistema de SQL Plus, la declaración de SQL se ejecutó, se devolvieron los datos, pero los datos no se mostraron en SQL Plus? Eso parece poco probable a menos que esté jugando con laautotrace
configuración, en cuyo caso es posible que haya visto un plan de consulta y estadísticas de ejecución en lugar de los resultados de la consulta. Sin embargo, estamos empezando a alejarnos bastante de tu pregunta original.fuente
esta declaración
significa imprimir la cadena tal como está ... eliminar las comillas para obtener los valores que se van a imprimir, por lo que la sintaxis correcta es
fuente
Establezca la consulta como se muestra a continuación en la primera línea
fuente
Estoy usando Oracle SQL Developer,
En esta herramienta, tuve que habilitar la salida DBMS para ver los resultados impresos por dbms_output.put_line
Puede encontrar esta opción en el panel de resultados donde se muestran otros resultados de la consulta. entonces, en el panel de resultados, tengo 7 pestañas. Primera pestaña denominada Resultados, la siguiente es Salida de script y así sucesivamente. Fuera de esto, puede encontrar una pestaña llamada "Salida DBMS", seleccione esta pestaña, luego el primer icono (parece un icono de diálogo) es Activar salida DBMS . Haga clic en este icono. Luego ejecutas el PL / SQL, luego seleccionas la pestaña "Salida DBMS", deberías poder ver los resultados allí.
fuente
Todos ellos se concentran en el bucle for, pero si usamos un bucle normal, entonces tenemos que usar la variable de registro del cursor. El siguiente es el código modificado
fuente