Неправильная ошибка синтаксиса в скрипте Unix при использовании команды Exists (Sybase в качестве базы данных)

Обои по умолчанию из всех выпусков хранятся здесь

http://packages.linuxmint.com/pool/main/m/

под каталоги, начинающиеся с mint-background- . Разверните архив tar.gz и оттуда поместите подкаталог ./ mint-background-xxxxx / usr / share / background / linuxmint-xxx в / usr / share / фоны или (непроверено) пусть deb сделает это за вас.

0
09.03.2019, 14:16
1 ответ

Это не проблема сценария оболочки, а проблема с синтаксисом вашего SQL.

Из вывода ошибок:

1>    use db
1>    if exists (select 1 from syscolumns where id = object_id('Main_table') and name = 'Stamm')
2>    begin

Похоже, что первые две строки воспринимаются как одна команда, и, возможно, поэтому ядро ​​базы данных обнаруживает синтаксическую ошибку. Может потребоваться разделить его на две команды. Я не знаком с Sybase, но попробуйте использовать use $db;в качестве первой строки здесь -документа.

Помимо этого, в вашем сценарии оболочки нет ничего ужасного. Единственное, что я хотел бы прокомментировать, это отсутствие двойных -кавычек расширений параметров $DBLoginи $DBNameи очень нетрадиционный (, хотя и допустимый )разделитель для документа здесь -, который вы перенаправить в команду isql(я бы использовал END_SQLили аналогичную ).

0
28.01.2020, 04:12

Теги

Похожие вопросы