it-swarm.com.ru

Показать сообщение в хранимой процедуре

Как показать сообщение из хранимой процедуры?

Каков правильный синтаксис для отображения сообщения о том, существуют ли строки?

В SQL Server это PRINT, чтобы показать сообщение bat в WORKBENCH ...

CREATE PROCEDURE `new_proced` (
    in myid     int(3)
)
BEGIN
    if not exists (select id from table where id = myid)
then
    show message 'Row no exists';
else
    show message 'Row exists';
end if;
END
4
Igor

Не совсем уверен, почему вы хотите сделать что-то подобное, но вы можете сделать что-то вроде этого: ...

then
  select 'YOUR MESSAGE HERE'  
else
  select 'YOUR OTHER MESSAGE HERE'
end if

Или вы можете выбрать 1 или 0, может быть немного лучше ...

16
Andrew

В MySQL нет правильного оператора вывода, как в Oracle, у нас есть DBMS_OUTPUT.PUT_LINE. Таким образом, для отображения любых сообщений на консоли вы можете использоватьВЫБЕРИТЕоператор как:

Сообщение SELECT; Например: SELECT "ДОБРО ПОЖАЛОВАТЬ В MySQL";

1
Y. Kiran Kumar

Для отладки информации из хранимой процедуры в MySQL есть следующие опции, с помощью которых вы можете сделать это.

1. Запишите в файл внешне:

выберите "your_message" как вход в outfile '/temp/brajesh.txt';

2. Используйте команду выбора для печати сообщения: 

выберите «result_message»; 

3. Используйте команду выбора, чтобы напечатать дополнительную информацию с сообщением:

выберите concat («Hello!:», результат);

4. Создайте временную таблицу и добавьте в нее все сообщения:

вставить в temp выберите concat (результат);

Пример

drop procedure if exists display_name_procedure;
delimiter //
create procedure display_name_procedure(IN name_val varchar(65))
begin
declare result varchar(65);
set result := display_name_function(name_val);

create table if not exists temp (name_val varchar(65) not null);
insert into temp select concat(result);
select "penguin" as log into outfile '/temp/brajesh.txt';
select concat("Hello ! :", result);

end//

delimiter ;
0
Brajesh