Verificar se View é igual à Tabela
Olá!
Pessoal, sou nova por aqui..
Estou precisando de uma ajuda..
Preciso identificar se uma view criada no banco de dados é 100% igual à estrutura da tabela na qual ela se baseia.
Por exemplo, se eu tenho a tabela XPTO com 5 colunas e 1000 linhas, quero identificar que esta view retorna, ao se realizar um select nela, as mesmas 5 colunas e 1000 linhas, sem nenhum tipo de filtro ou modificação na apresentação das colunas.
No meu caso, posso ter aliases nas views. Ex:
TABELA XPTO
Name Type Nullable Default Comments
--------- ------------ -------- ------- --------
XPTOCOD NUMBER(12)
XPTONOM VARCHAR2(30)
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO, NOM_XPTO)
AS
SELECT XPTOCOD, XPTONOM FROM XPTO
O que preciso é identificar justamente os casos acima e desconsiderar quando as views não forem 100% da tabela, como nos casos abaixo (entre outros).
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO, NOM_XPTO, DESCRICAO)
AS
SELECT XPTOCOD, XPTONOM, 'TEXTO'
FROM XPTO
------
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO, NOM_XPTO)
AS
SELECT XPTOCOD, XPTONOM
FROM XPTO
WHERE COD_XPTO > 10
------
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO, NOM_XPTO)
AS
SELECT XPTOCOD, XPTONOM
FROM XPTO
GROUP BY XPTOCOD
------
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO)
AS
SELECT XPTOCOD
FROM XPTO
------
CREATE OR REPLACE VIEW V_XPTO
(NOM_XPTO)
AS
SELECT SUBSTR(XPTONOM,1,2)
FROM XPTO
------
CREATE OR REPLACE VIEW V_XPTO
(COD_XPTO, NOM_XPTO)
AS
SELECT XPTOCOD, XPTONOM
FROM XPTO, ABC
WHERE XPTO.XPTOCOD = ABC.XPTOCOD
Voces conhecem alguma forma de fazer isso??
Obrigada :))Discussão (7)
Carregando comentários...