ThaisN 0 Denunciar post Postado Dezembro 16, 2009 Olá a todos, Tenho uma tabela em Oracle que contém um campo do tipo varchar2 que en algusn casos armazena dados que creio que sáo funçoes, como por exemplo: [FIND], [MAP] e até algumas que sáo conhecidas como [sYSDATE] e [LENGTH]. Queria saber como ter acesso ao conteúdo real deste campo e também (no caso das funçoes desconhecidas, como a FIND) de ver o código da funçao. Já procurei pelo SQL Developer as funçoes criadas e náo existe nenhuma com esses nomes. Estou um pouco perdida... Agradeço desde já! Abraços, Thaís Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 16, 2009 Talvez o Sistema esteja montando em algum ponto um SQL dinamico com estes campos , pelo que entendi o conteúdo do campo é que contém SYSDATE ou algo assim. Existem vários exemplos de como se monta um SQL desta forma. Compartilhar este post Link para o post Compartilhar em outros sites
ThaisN 0 Denunciar post Postado Dezembro 17, 2009 Talvez o Sistema esteja montando em algum ponto um SQL dinamico com estes campos , pelo que entendi o conteúdo do campo é que contém SYSDATE ou algo assim. Existem vários exemplos de como se monta um SQL desta forma. Você pode me dar um exemplo ou me dizer onde posso encontrar? Onde ficam guardadas estas funçoes dinâmicas em Oracle? Náo encontro... Obrigada!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 17, 2009 Não ficam guardadas são os programas (plsql por exemplo) que as montam , talvez estes campos guardem estas funções para montar estes sql´s. O conteúdo real do campo pelo que entendi seria SYSDATE o resultado muda conforme o momento da execução. Compartilhar este post Link para o post Compartilhar em outros sites
ThaisN 0 Denunciar post Postado Dezembro 17, 2009 Não ficam guardadas são os programas (plsql por exemplo) que as montam , talvez estes campos guardem estas funções para montar estes sql´s. O conteúdo real do campo pelo que entendi seria SYSDATE o resultado muda conforme o momento da execução. Entendi. Se executa uma procedure en PL/SQL, por exemplo que atualiza esse campos. Para saber como sáo atualizados eu teria que descobrir a Procedure, correto? O campo que contém Sysdate náo me interessa, me interessa saber os que contém funçóes que náo sáo do Oracle, como o [FIND], por exemplo, como escrevi no primeiro post. O select me traz [FIND] como resultado. Como descubro o que está armazenado de fato neste campo? Obrigada mais uma vez, Motta! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 17, 2009 Existe algum Objeto com estes nomes ([FIND] etc) ? Não faço ideia do pode ter sido feito em seu sistema aí. Compartilhar este post Link para o post Compartilhar em outros sites
ThaisN 0 Denunciar post Postado Dezembro 17, 2009 Esse é um varchar2 e vem na tabela assim: DEFAULTVALUE [ADUSECCAOMIN] [FNID] [ADUMATERIAL] [ADUDIMSECCAO] [CONMATERIAL] [OSUSER] [sYSDATE] [MAP] [iPID] [LENGTH] 22 15 [COLMATERIAL] [COLDIMSECCAO] [COLLENGTH] [ORIGINX] [ORIGINY] [DIMCAMARA] [DIMFECHOCAMARA] [COLMATERIAL] -- En verificació -- [CONDIAMETRO] [COLLENGTH] [CONMATERIAL] [CONDIAMETRO] [CONLENGTH] [CONLENGTH] [CODIPATRI] Nao sei como descubrir o real conteúdo de esses campos... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 17, 2009 Como é esta tabela ? Tem outros campos ? Compartilhar este post Link para o post Compartilhar em outros sites
ThaisN 0 Denunciar post Postado Dezembro 18, 2009 Esta é o SQL de criaçao da tabela: CREATE TABLE "GIASYS"."MAATTRIBUTE" ( "MAID" NUMBER(5,0) NOT NULL ENABLE, "ANID" NUMBER(5,0), "NAMEINT" VARCHAR2(30 BYTE), "NAMEEXT" VARCHAR2(30 BYTE), "NAMEDESC" VARCHAR2(128 BYTE), "DTYPE" VARCHAR2(30 BYTE), "PNID" NUMBER(5,0), "FILTER" VARCHAR2(255 BYTE), "DEFAULTVALUE" VARCHAR2(30 BYTE), "UPDATEVALUE" VARCHAR2(30 BYTE), "RELATIONVALUE" VARCHAR2(30 BYTE), "FLAGS" NUMBER(9,0) DEFAULT 0 ) PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 131072 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 18, 2009 Creio que este DEFAULTVALUE é o valor que é gravado quando nenhuma informação é dada. Alguns valores parecem apontar para campos do Sistema, outros a funções e outros para literais. A chamada deve ser feita em algum ponto do Sistema (trigger, SP) que executa algum código dinamicamente, sabe pesquisar uma parte de texto na tabela de fontes, segue um exemplo SELECT * FROM ALL_SOURCE WHERE UPPER(TEXT) LIKE '%DEFAULTVALUE%' Com base nisto talvez você ONDE esta loucura está sendo feita. Boa sorte. Compartilhar este post Link para o post Compartilhar em outros sites