У меня есть две строки кода в SQL, которые создают две таблицы на лету, мне нужно сделать что-то вроде
IF TABLE EXISTS
DROP IT AND CREATE IT AGAIN
ELSE
CREATE IT
мои строки следующие
CREATE TABLE ##CLIENTS_KEYWORD(client_id int)
CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int)
как я могу применить эту концепцию к этим двум таблицам в моей процедуре?
sql
sql-server
user710502
источник
источник
Ответы:
Из SQL Server 2016 вы можете просто использовать
В предыдущих версиях вы можете использовать
Вы также можете подумать об усечении таблицы вместо удаления и повторного создания.
источник
EXEC
чтобы синтаксический анализатор не жаловался на предыдущие версии. ie useEXEC('CREATE TABLE ##CLIENTS_KEYWORD(client_id INT)')
OBJECT_ID IS NULL
вместоtempdb.sys.tables
запроса.Проверьте наличие, получив его object_id:
источник
Вы просили:
Поскольку вы всегда собираетесь создавать таблицу, независимо от того, удалена она или нет; немного оптимизированное решение:
источник