Olá Ravi,
Como posso visualizar a tabela?
Obrigado
Avalados por :
Olá a todos,
Gostaria de saber como excluir uma tabela se ela já existir,
então tentei usar a declaração if exists para fazer isso, mas parece que não está funcionando:
Por exemplo, se o nome da minha tabela for DATA_TAB, fiz o seguinte:
if exists (select * from DATA_TAB)
(
drop table type DATA_TAB
)
A sintaxe correta para SQLScript é
if exists (select * from DATA_TAB)
then
drop table type DATA_TAB
end if;
ainda não está funcionando;
Alguém tem alguma ideia de como fazer isso?
Obrigado e cumprimentos,
Mohamed Ali
Olá Ravi,
Como posso visualizar a tabela?
Obrigado
Olá a todos, criei um procedimento para verificar se um tipo já existe e eliminá-lo nesse caso. Fui inspirado no tópico http://www.saphana.com/thread/1486 e na resposta de Ravi. E compartilho aqui caso alguém precise:
DROP PROCEDURE existsType;
CREATE PROCEDURE existsType
( IN tablename VARCHAR(20), IN schemaname VARCHAR(20)
) LANGUAGE SQLSCRIPT AS myrowid INTEGER;
BEGIN
myrowid := 0;
SELECT COUNT(*) INTO myrowid FROM tables WHERE schema_name = :schemaname AND table_name = :tablename;
IF (:myrowid > 0 ) THEN
EXEC 'DROP TABLE ' || :schemaname || '.' || :tablename;
END IF;
END;
Cumprimentos
Mohamed Ali
ok, encontrei uma solução para remover uma tabela neste tópico:
http://www.saphana.com/thread/1486
que basicamente é: criar um novo procedimento para verificar se a tabela em questão
existe e removê-la, se for o caso. Aqui está o procedimento a ser criado.
drop procedure existstable;
create procedure existstable
( IN tablename VARCHAR(20), IN schemaname varchar(20)
) LANGUAGE SQLSCRIPT AS myrowid integer;
BEGIN
myrowid := 0;
select count(*) into myrowid from "PUBLIC"."M_TABLES" where schema_name =:schemaname and table_name=:tablename;
IF (:myrowid > 0 ) then
exec 'DROP TABLE '||:schemaname||'.'||:tablename;
END IF;
End;
resultou que a informação da tabela de tipo de dados não é armazenada no mesmo
local que a informação da tabela:
em outras palavras: a informação da tabela criada pelo usuário é armazenada
na tabela "PUBLIC"."M_TABLES" , agora estou procurando a tabela
onde são armazenadas as informações dos tipos criados pelo usuário para poder criar
um procedimento como o anterior para remover um tipo.
espero ser suficientemente claro;
Alguém sabe qual é o nome da tabela que contém informações sobre o tipo criado pelo usuário?
Obrigado e cumprimentos
Mohamed Ali
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute