我对 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
我对 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
存储一个简单的过程,并从 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()