Hola Ravi,
¿Cómo puedo ver la tabla?
Gracias
Avalados por :
Hola a todos,
Me gustaría saber cómo eliminar una tabla si ya existe,
así que intenté usar la declaración if exists para hacer esto, pero parece que no funciona:
Por ejemplo, si el nombre de mi tabla es DATA_TAB, hice lo siguiente:
if exists (select * from DATA_TAB)
(
drop table type DATA_TAB
)
La sintaxis correcta para SQLScript es
if exists (select * from DATA_TAB)
then
drop table type DATA_TAB
end if;
sigue sin funcionar;
¿Alguien tiene una idea de cómo hacer esto?
Gracias y saludos
Mohamed Ali
Hola Ravi,
¿Cómo puedo ver la tabla?
Gracias
Hola a todos, he creado un procedimiento para verificar si un tipo ya existe y eliminarlo en ese caso. Me inspiré en el hilo http://www.saphana.com/thread/1486 y en la respuesta de Ravi. Y lo comparto aquí por si alguien lo necesita:
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;
Saludos cordiales
Mohamed Ali
ok, encontré una solución para eliminar una tabla en este hilo:
http://www.saphana.com/thread/1486
que básicamente es: crear un nuevo procedimiento para verificar si la tabla en cuestión
existe y eliminarla si es así. Aquí está el procedimiento a crear.
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;
resultó que la información de la tabla de tipo de datos no se almacena en el mismo
lugar que la información de la tabla:
en otros términos: la información de la tabla creada por el usuario se almacena
en la tabla "PUBLIC"."M_TABLES" , ahora estoy buscando la tabla
en la que se almacenan la información de los tipos creados por el usuario para poder crear
un procedimiento como el anterior para eliminar un tipo.
espero ser lo suficientemente claro;
¿Alguien sabe cuál es el nombre de la tabla que contiene información sobre el tipo creado por el usuario?
Gracias y saludos
Mohamed Ali
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute