2011-03-05 66 views
10

Este es mi primer intento de crear un procedimiento y ejecutarlo. Primero creo una tabla simple. esquema de base de datos de la tabla está aquí: NombreProblema con el procedimiento de ejecución en PL/SQL Developer

Tabla: Ziaci

Columnas:

  • ZiakId - clave principal, número
  • Apellido, VarChar2
  • Nombre, VarChar2
  • TriedaId - clave forgein, número

procedimiento Conservar sólo insertar datos en la tabla, creé tienda procudure con este SQL cmd:

create procedure ziaci_proc(surname_in in varchar2, 
firstname_in in varchar2, triedaid_in in number) 
is 
begin 
    insert into ziaci (surname, firstname,triedaid) values (surname_in,firstname_in,triedaid_in); 
    end; 

Y trato de llamar a este procudure como:

execute ziaci_proc('X','Y',1) 

me sale este error:

ORA -00900 instrucción SQL no válida

An en PL/SQL Developer IDE es con color rojo subrayado ejecutar palabra.

Probé este procedimiento y funciona bien.

sólo puedo ejecutar este procedimiento con el siguiente comando SQL:

begin 
ziaci_proc('A','B',2); 
end; 

lo que es malo, gracias por la ayuda.

Respuesta

11

Llamada a procedimientos almacenados utilizando execute que el anterior es específico de SQL * Plus. De hecho, SQL * Plus convierte en execute some_proc()BEGIN some_proc(); END;, Se puede ver esto por sí mismo, tratando de llamar a un procedimiento que no existe:

 
SQL> execute some_proc() 
BEGIN some_proc(); END; 

     * 
ERROR at line 1: 
ORA-06550: line 1, column 7: 
PLS-00201: identifier 'SOME_PROC' must be declared 
ORA-06550: line 1, column 7: 
PL/SQL: Statement ignored 
10

Creo que estás escribiendo un comando en "Ventana SQL". Debe utilizar "ventana de comandos" para ejecutar con éxito esta línea:

execute ziaci_proc('X','Y',1); 
+0

gracias, soy novato y fue mi error, gracias por el consejo. –

Cuestiones relacionadas