2017-02-22 71 views
-2

Я хочу, чтобы создать процедуру с учетом избранных в жабу оракула ввести три параметра и сделать отборноея хочу создать процедуру с учетом избранных в жабу оракула

create or replace procedure busqueda (nomlu varchar ,ape varchar,apese varchar) 
as 
begin 
execute immediate 'create view vprueba as 
    select 
     alu.t_nombre, 
     alu.t_apellido1, 
     alu.t_apellido2, 
    from 
     tlalumnos alu 
    where 
     t_nombre = nomlu 
     and t_apellido1 =ape 
     and t_apellido2 =apese; 

end busqueda; 
+0

Вы потеряли меня после замены – RSon1234

+1

Создание представления для определенного имени человека вряд ли будет правильным решением. Что касается кода; вам не хватает одной кавычки после слова «apese» в вашем выборе. – BriteSponge

+0

... и вы можете выбрать '' '' alu.t_apellido2'' в своем выборе. – Filburt

ответ

0

You» повторно отсутствует закрывающая кавычка на EXECUTE IMMEDIATE строке, и вы должны преобразовать параметры в строки и конкатенацию значения в CREATE VIEW:

create or replace procedure busqueda (nomlu varchar ,ape varchar,apese varchar) 
as 
begin 
execute immediate 'create OR REPLACE view vprueba as 
    select 
     alu.t_nombre, 
     alu.t_apellido1, 
     alu.t_apellido2, 
    from 
     tlalumnos alu 
    where 
     t_nombre = ''' || TO_CHAR(nomlu) || '''' || 
     ' and t_apellido1 = ''' || TO_CHAR(ape) || '''' || 
     ' and t_apellido2 = ''' || TO_CHAR(apese) || ''''; 
end busqueda; 

Попробуйте работать с этим и посмотреть, если он получает вас ближе к решению ,