Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как проверить, существует ли таблица в базе? ASA. / 5 сообщений из 5, страница 1 из 1
18.05.2006, 15:07
    #33735909
polexm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, существует ли таблица в базе? ASA.
Добрый день!

Работаю с ASA 9.0.0.1110

Подскажите, пожалуйста:

мне нужно создать таблицу в базе с именем, к примеру ХХХ, но перед ее созданием необходимо выполнить проверку не существует ли уже таблица с таким именем. Как можно выполнить эту проверку?

Спасибо!
...
Рейтинг: 0 / 0
18.05.2006, 15:19
    #33735966
antand
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, существует ли таблица в базе? ASA.
if exists (select 1
from sysobjects
where id = object_id('XXX')
and type = 'U')
drop table XXX
go

Код не мой, но работает точно
...
Рейтинг: 0 / 0
18.05.2006, 15:22
    #33735982
vinogradov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, существует ли таблица в базе? ASA.
polexmДобрый день!

Работаю с ASA 9.0.0.1110

Подскажите, пожалуйста:

мне нужно создать таблицу в базе с именем, к примеру ХХХ, но перед ее созданием необходимо выполнить проверку не существует ли уже таблица с таким именем. Как можно выполнить эту проверку?

Спасибо!
Например
if not exists(select 1 from sys.systable where table_name = 'Post_PolAgo' ) then
CREATE TABLE "rm"."Post_PolAgo" (
"PolAgoIN" integer NOT NULL,
"PostID" integer NOT NULL,
PRIMARY KEY ( "PolAgoIN", "PostID" )
);
ALTER TABLE "rm"."Post_PolAgo" ADD NOT NULL FOREIGN KEY "PolAgo" ( "PolAgoIN" ) REFERENCES "rm"."PolAgo" ( "IN" );
ALTER TABLE "rm"."Post_PolAgo" ADD NOT NULL FOREIGN KEY "POST_OSAGO" ( "PostID" ) REFERENCES "rm"."POST_OSAGO" ( "ID" );
end if;
а если ключи

if exists(select 1 from sys.systable a,sys.SYSFOREIGNKEY b,sys.systable c
where a.table_name = 'POLICY' and a.table_id=b.foreign_table_id
and c.table_id=primary_table_id and c.table_name ='AgentRes') then
ALTER TABLE "rm"."POLICY" DELETE FOREIGN KEY "KeyAgentResIN";
ALTER TABLE "rm"."POLICY" add
FOREIGN KEY "KeyAgentResIN" ( "AgentResIN" ) REFERENCES "rm"."Agent" ( "IN" );
COMMENT ON FOREIGN KEY "rm"."PolAgo"."KeyAgentResIN" IS 'Ссылка на справочник доп. агента';
end if;
...
Рейтинг: 0 / 0
18.05.2006, 15:44
    #33736069
polexm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, существует ли таблица в базе? ASA.
Огромное спасибо!
...
Рейтинг: 0 / 0
18.05.2006, 20:22
    #33736941
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, существует ли таблица в базе? ASA.
polexm
Работаю с ASA 9.0.0.1110

К вышесказанному остается добавить - не забудь апгрейд до 9.0.2 сделать. Версия 9.0.0 сыровата.


Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как проверить, существует ли таблица в базе? ASA. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]