Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

error 00922 falta la opcion o no es valida

Estas en el tema de error 00922 falta la opcion o no es valida en el foro de Oracle en Foros del Web. Hola espero esten todos bien, quisiera saber quien me puede ayudar con un error que se me genera al intentar ejecutar un codigo que me ...
  #1 (permalink)  
Antiguo 26/01/2008, 07:39
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
error 00922 falta la opcion o no es valida

Hola espero esten todos bien, quisiera saber quien me puede ayudar con un error que se me genera al intentar ejecutar un codigo que me llama a un procedimiento para generar un html

SET VERIFY OFF
SET FEEDBACK OFF
SET ECHO OFF
SET LINESIZE 250
SET SERVEROUTPUT ON SIZE100000
SET TERMOUT OFF
SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP OFF

SPOOL C:\Users\Jose Antonio\Desktop\CONSULTA\Consulta_Producto.html

EXECUTE consulta_producto (8105);

SET VERIFY ON
SET FEEDBACK ON
SPOOL OFF
SET MARKUP HTML OFF
SET ECHO ON
SET LINESIZE 90
HOST C:\Archivos de programa\Mozilla Firefox\firefox.exe C:\Users\Jose Antonio\Desktop\CONSULTA\Consulta_Producto.html

no entiendo porque no lo hace, aqui está el procedimiento

CREATE OR REPLACE PROCEDURE consulta_producto (par_prod IN INTEGER)
IS
CURSOR prod
IS
SELECT NOMBRE
FROM PRODUCTO
WHERE ID_PRODUCTO = par_prod;

diralias_name VARCHAR2 (120);
file_name VARCHAR2 (120);
directorio VARCHAR2 (250);
descripcion VARCHAR2 (200);
valor INTEGER;
ruta VARCHAR2 (250);
n INTEGER;
BEGIN
valor := 1;
DBMS_OUTPUT.put_line
('<style type="text/css">body {background-image: url(file:///D:\CONSULTA\fondo.PNG);}</style>'
);
DBMS_OUTPUT.put_line ('<font face="Curier New" size="10"><p></p>');
DBMS_OUTPUT.put_line ('<font face="Curier New" size="10"><p></p>');

FOR i IN prod
LOOP
DBMS_OUTPUT.put_line
('<style type="text/css">.style1 {color: #400040; font-family: "Times New Roman", Times, serif;}</style>'
);
DBMS_OUTPUT.put_line
( '<font face="Curier New" size="4"><div align = "center"><b><span class="style1">'
|| i.NOMBRE
|| ' '
|| '</span></b></div></td>'
);
valor := valor + 1;
END LOOP;
END consulta_producto;
/



solo quiero mostrar el nombre por ahora para luego mostrar la foto
  #2 (permalink)  
Antiguo 26/01/2008, 08:30
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: error 00922 falta la opcion o no es valida

Hola,

El procedimiento se ve bien, ademas el error ORA-00922 no tiene mucho que ver con PL/SQL. Intenta realizar la ejecucion del proceso paso a paso.

1. EXECUTE consulta_producto (8105); con el serveroutput activado para ver los resultados.
2. Agrega todos los SET del SQL*Plus.
3. Agrega el SPOOL y el HOST.

Pd, Probe el proceso completo (copy/paste), lo unico que cambie fue el PATH del SPOOL, el Firefox por el Vi, y funciona bien.

Saludos
  #3 (permalink)  
Antiguo 26/01/2008, 10:02
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 1 mes
Puntos: 7
Re: error 00922 falta la opcion o no es valida

y ya que andas por ahi tambien corrigele un poco el html

DBMS_OUTPUT.put_line ('<font face="Curier New" size="10"><p></p>');
DBMS_OUTPUT.put_line ('<font face="Curier New" size="10"><p></p>');

parece que eso sirve para darle un espacio, igual con <br/> queda, si no al menos cierra la etiqueta "font" com </font>

DBMS_OUTPUT.put_line
( '<font face="Curier New" size="4"><div align = "center"><b><span class="style1">'
|| i.NOMBRE
|| ' '
|| '</span></b></div></td>'
);

si estas usando la clase "style1" el <b> sobra, ponlo en la clase con "font-weight:bold;" el div para el centrado con "text-align:center;" y el font con "font-family:"Courier New"" y "font-size:4px;"

('<style type="text/css">.style1 {color: #400040; font-family: "Times New Roman", Times, serif;}</style>'
);

sacalo del loop estarias declarando cada iteracion

ya por ultimo checate las etiquetas head, body, y html para que se vea correctamente
__________________
Blogzote.com :-) Mi blog
  #4 (permalink)  
Antiguo 08/06/2012, 03:56
 
Fecha de Ingreso: junio-2012
Ubicación: Barcelona
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: error 00922 falta la opcion o no es valida

Esto tambien me da este error. Sugerencias?

Create or replace Trigget t_factura
after update on RESERVA
for each row
Declare
v_precio_hab TIPUSHAB.PREU%TYPE;
v_precio_aloj TIPUSESTADA.PREU%TYPE;
Begin
if updating('OCUPADA') then

select PREU into v_precio_hab
from HABITACIO, TIPUSHAB
where :new.NUMHAB=HABITACIO.NUMHAB and habitacio.TIPUSHAB_CODTIPUS=tipushab.codtipus;

select PREU into v_precio_aloj
from TIPUSESTADA
where :new.CODESTADA=TIPUSESTADA.CODESTADA;

Insert into factura values
(
seq_numfra.nextval, :new.NUMHAB, :new.DATAARRIBADA, :new.DATAFACTURACIO, (:new.DATAFACTURACIO-:new.DATAARRIBADA) * (v_precio_hab+v_precio_aloj)
);

endif;
end;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:03.