Я пытаюсь понять эквивалент этого утвержденияновообращенный оператор 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;) –
Нет, я не имею в виду процедуру. Это будет работать в SQL Assistant. – Andrew
Я знаю. Команда .IF в вашем ответе - для сценария BTEQ. Если вы хотите запустить SQL Assistant, вам понадобится хранимая процедура для реализации логического состояния. –
Вам нужно будет написать хранимую процедуру, чтобы ввести логику IF THEN в Teradata. –