Неправильный синтаксис рядом с ключевым словом ‘end’

#sql #sap-ase

#sql #sap-ase

Вопрос:

Кто-нибудь может мне помочь?

Я не знаю, почему следующий SQL выдает синтаксическую ошибку:

 if not exists (select 1 from sysobjects where type='U' and name='pg_result')
    create table pg_result (parent char(10), child char(10)) 
else
    delete from pg_result
end if
  

Я получаю следующую ошибку:

[Ошибка] Строки скрипта: 141-146

Неправильный синтаксис рядом с ключевым словом ‘end’.

Сообщение: 156, уровень: 15, состояние: 2

Сервер: SYBDEV, Строка: 5

Я запускаю:

Adaptive Server Enterprise/12.5.4/EBF 16785 ESD#10/P/Sun_svr4/OS 5.8/ase1254/2159/64- bit/FBO/Пн, 2 ноября 13:08:08 2009

Пожалуйста, есть идеи?

Ответ №1:

Вам не нужен end , если вы не используете begin

Ответ №2:

попробуйте

 if not exists (select 1 from sysobjects where type='U' and name='pg_result')
    create table pg_result (parent char(10), child char(10)) 
else
    delete from pg_result
  

или

 if not exists (select 1 from sysobjects where type='U' and name='pg_result')
begin
    create table pg_result (parent char(10), child char(10)) 
end
else
begin
    delete from pg_result
end
  

смотрите
http://infocenter.sybase.com/help/topic/com.sybase.help.ase_15.0.commands/html/commands/commands61.htm