Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PauloTI

Dado/Long/TABELA/Oracle

Recommended Posts

Pessoal...

 

Não estou conseguindo criar uma tabela por uma das colunas ter o tipo de dado " Long "

 

E meu superior precisa deste campo..

 

alguém poderia me ajudar?

 

 

 

CREATE TABLE CGMP1A3_0328_ALLCONSTRAINTS AS
SELECT * ( o campo em questão do tipo " long " é SEARCH_CONDITION
FROM ALL_CONSTRAINTS@DBLCGMP1A3
WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'BEABAM_ORABAM', 'OUTLN', 'WMSYS', 'EXFSYS');
alguém pode me ajudar?
Obrigado.
att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que colunas long não podem ser manipuladas em CREATE AS SELECT.

 

Veja se o AskTom te ajuda.

 

Tente ao menos criar a tabela assim :

 

CREATE TABLE  CGMP1A3_0328_ALLCONSTRAINTS AS
SELECT * ( o campo em questão do tipo " long " é SEARCH_CONDITION
  FROM  ALL_CONSTRAINTS@DBLCGMP1A3 
 WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'BEABAM_ORABAM', 'OUTLN', 'WMSYS', 'EXFSYS')
and 1=2 --Obs : Não testei, não sei se funciona.

 

 

ou pegue a descrição da tabela e use para criar a cópia.

 

 

Depois seria só trabalhar o insert, talvez via bloco advpl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que colunas long não podem ser manipuladas em CREATE AS SELECT.

 

Veja se o AskTom te ajuda.

 

Tente ao menos criar a tabela assim :

 

CREATE TABLE  CGMP1A3_0328_ALLCONSTRAINTS AS
SELECT * ( o campo em questão do tipo " long " é SEARCH_CONDITION
  FROM  ALL_CONSTRAINTS@DBLCGMP1A3 
 WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'BEABAM_ORABAM', 'OUTLN', 'WMSYS', 'EXFSYS')
and 1=2 --Obs : Não testei, não sei se funciona.

 

 

ou pegue a descrição da tabela e use para criar a cópia.

 

 

Depois seria só trabalhar o insert, talvez via bloco advpl

 

 

ENTÃO Não funciona mota.. da o erro que mostrei...

 

 

O que eu fiz.. inseri todos os dados menos a coluna " SEARCH_CONDITION "

 

Para colocar ela agora.. tenho que fazer UPDATE.. pode ser desta forma motta?

 

 

segue oq fiz até agora..

 

 

DECLARE
--VLONG LONG := '43702198RYIWQEYR2Q93741234H12IU34Y1O2IU34Y128734123IU421HIU3';
VVAR VARCHAR2(32767);
CURSOR RED IS
SELECT SEARCH_CONDITION
INTO VVAR
FROM ALL_CONSTRAINTS@DBLCGMP1A3
WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'BEABAM_ORABAM', 'OUTLN', 'WMSYS', 'EXFSYS');
BEGIN
FOR I IN RED LOOP
-- VVAR := VLONG;
UPDATE CGMP1A3_0401_ALLCONSTRAINTS
SET SEARCH_CONDITION = I.SEARCH_CONDITION;
END LOOP;
END;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que funciona sim ...

 

 

Trabalheira hein...

 

Não sabia esta da LONG no insert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que funciona sim ...

 

 

Trabalheira hein...

 

Não sabia esta da LONG no insert.

 

 

 

Primeira vez que me deparo com isso também... mas a Lider técnica quer isso neh.. então OK rs..

 

vlw ai motta \õ

Compartilhar este post


Link para o post
Compartilhar em outros sites
Motta segue abaixo o que fiz para dar jeito na coluna " long "



DECLARE

--VLONG LONG := '43702198RYIWQEYR2Q93741234H12IU34Y1O2IU34Y128734123IU421HIU3';

--VVAR VARCHAR2(32767);

CURSOR RED IS

SELECT SEARCH_CONDITION, CONSTRAINT_NAME

FROM ALL_CONSTRAINTS@DBLCGMP1A3

WHERE OWNER NOT IN ('SYS', 'SYSTEM', 'BEABAM_ORABAM', 'OUTLN', 'WMSYS', 'EXFSYS');

BEGIN

FOR I IN RED LOOP

UPDATE CGMP1A3_0401_ALLCONSTRAINTS

SET SEARCH_CONDITION = I.SEARCH_CONDITION

WHERE CONSTRAINT_NAME = I.CONSTRAINT_NAME;

END LOOP;

COMMIT;

END;


Obrigado.


att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.