PauloTI 0 Denunciar post Postado Abril 1, 2013 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
Motta 645 Denunciar post Postado Abril 1, 2013 Qual erro que dá ? Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Abril 1, 2013 Qual erro que dá ? ORA-00997: uso inválido do tipo de dados LONG ESTE ERRO motta. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 1, 2013 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
PauloTI 0 Denunciar post Postado Abril 1, 2013 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
Motta 645 Denunciar post Postado Abril 1, 2013 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
PauloTI 0 Denunciar post Postado Abril 1, 2013 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 645 Denunciar post Postado Abril 1, 2013 Não faz muito sentido pois já tem VIEW , se é para manter historico ou algo assim melhor exportar num formato de script exemplos aos montes ... http://stackoverflow.com/questions/4184785/how-to-export-a-ddl-script-from-an-oracle-10-schema-to-create-tables-and-constra Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Abril 2, 2013 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