我試圖理解這種說法轉換的T-SQL語句的Teradata
IF OBJECT_ID('Current') IS NOT NULL
DROP TABLE Current;
在Teradata的
的等價物。
有人可以幫我把這個聲明轉換成TD14。謝謝!
我試圖理解這種說法轉換的T-SQL語句的Teradata
IF OBJECT_ID('Current') IS NOT NULL
DROP TABLE Current;
在Teradata的
的等價物。
有人可以幫我把這個聲明轉換成TD14。謝謝!
您可以在TD的至少新版本做到這一點:
select
count (*)
from
dbc.tablesv where tablename = '<your table>'
and databasename = '<your db>'
有COUNT(*)> 0;
.if activitycount = 1 then .GOTO DropTable;
.if activitycount <> 1 then .quit;
.LABEL DropTable
select 'DROP TABLE!';
drop table <your db>.<your table>;
令人遺憾的是,這不適用於易失性表。如果它們是全局臨時表,則可以使用 select count (*) from dbc.AllTempTablesVX where B_tablename =
http://stackoverflow.com/questions/9299329/create-table-but-drop-it-if-the-table-exists-already/9300195#9300195;) – 2014-12-04 22:19:30
不,我並不是指在一個程序中。這將在SQL Assistant中運行。 – Andrew 2014-12-04 22:32:37
我知道。您在答案中的.IF命令適用於BTEQ腳本。如果你想在SQL Assistant中運行,你需要一個存儲過程來實現邏輯條件。 – 2014-12-04 22:50:33
您必須編寫存儲過程才能在Teradata中引入IF THEN邏輯。 – 2014-12-04 20:59:55