SQLBase IF оператор
Я довольно новичок в SQLBase и уже несколько дней борюсь, возможно ли написать оператор IF в автономном скрипте? Что-то вроде:
IF EXISTS (SELECT * FROM SYSADM.SYSTABLES WHERE NAME = 'TMP') THEN
DROP TABLE TMP
END
или же
IF NOT EXISTS (SELECT * FROM SYSADM.SYSTABLES WHERE NAME = 'TMP') THEN
CRETE TABLE TMP ...
END
1 ответ
Решение
Сохраните простую процедуру и запустите ее из SQLTalk или TeamDeveloper . При необходимости отправьте имя таблицы в качестве параметра и запустите его с помощью команды "Execute SYSADM.MyProc \TMP/", либо сохраните Proc без параметров, жестко закодируйте имя таблицы и просто "Execute SYSADM.MyProc".
ps Не забывайте SqlClearImmediate()!
store MyProc
PROCEDURE: table_proc static
PARAMETERS:
String: psTableName
Local Variables
Boolean: bExists
Actions
On Procedure Startup
If SqlExists('Select 1 from SYSADM.SYSTABLES where Name = :psTableName' , bExists )
If bExists
Call SqlImmediate('Drop table TMP')
Else
Call SqlImmediate('Create Table TMP(col1 int )' )
Call SqlClearImmediate()