美好的一天。
我有以下问题:
是否可以在第一次运行sql脚本时检查表是否存在?
我正在使用 Advantage Data Architect 11.10。
我想澄清我的问题。
在我的脚本中,每次启动 sql 脚本时我都需要创建一个临时表。为此,我删除了我的临时表并重新创建了表。例如(一):
... if exists (select * from #tmp) then delete table #tmp; end if; create table #tmp (g integer); ...
但是当我第一次运行我的脚本时,我得到了以下错误:
The temporary table cannot be found.
为了修复这个错误,我被迫“亲手”创建了一个临时表。然后我在“示例 (1)”中展示的代码可以正常工作。
谢谢。
对不起我的英语。
最佳答案
一个解决方案是这样的:
TRY DROP TABLE #tmp; CATCH ALL END TRY;
CREATE TABLE #tmp ...
另一种解决方案:
IF NOT EXISTS (SELECT 1 FROM (EXECUTE PROCEDURE sp_GetTables (NULL, NULL, 'tmp', 'LOCAL TEMPORARY')) getTables ) THEN
CREATE TABLE #tmp ...
END IF;
另见此处:
http://devzone.advantagedatabase.com/forum/questions/5573/determine-if-temp-table-exists
关于sql - sql脚本第一次运行时检查表是否存在(优势数据架构师),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26930495/