0

我对 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
4

1 回答 1

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()

于 2018-02-13T22:15:46.100 回答