2013-09-30 3 views
-1

Я пытаюсь создать хранимую процедуру в Oracle, которая использует точку с запятой в имени. Я использую командную строку SQLPlus для создания хранимой процедуры, и она жалуется, что точка с запятой является недопустимым символом.Имя хранимой процедуры Oracle

Есть ли escape-символ, позволяющий хранимой процедуре содержать полуточку?

Благодаря

+5

Что было бы для этого полезным? Помимо создания хаоса и хаоса, это ... – ppeterka

+0

Это не по моей просьбе. – Steven

+1

Вы работаете в ** PHB ** из [Dilbert] (http://www.dilbert.com)? Мне жаль это слышать, но я убегал с того места, как будто он горит. – ppeterka

ответ

1

Если вам действительно необходимо ......

create or replace procedure "[email protected]#$%^&*();:<>?,./\|{}[]"("@#$%;<>^^@@&" number) 
is 
begin 
    dbms_output.put_line('Output is ' || "@#$%;<>^^@@&"); 
end; 
/

exec "[email protected]#$%^&*();:<>?,./\|{}[]"(2); 

run ------- 
Output is 2 

Подсказка: окружать имя процедуры в кавычки.

+0

+1 для ответа на Q, но .... всякий раз, когда я вижу строки вроде @ @ $ $ ... Я думаю, что код ругается. Это то, что я буду делать, если увижу, что эти символы используются в идентификаторах, и я был тем человеком, который клянется! –

+0

Простите, я не являюсь носителем английского языка, и я не совсем уверен, что значит «клянусь», я надеюсь, что я вас не обидел, если да, то я очень сожалею, это не мое намерение быть груб. – krokodilko

+0

О, нет, @ kordirko, я просто шутил - в вашем ответе не было ничего обидного, я просто просто удивлен и испытываю причудливое чувство юмора :) –

Смежные вопросы