Insert do JSON em Tabela via procedure com parâmetros

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
KATIA DIAS
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 16 Mar 2006 8:48 pm
Localização: são PAULO

Boa tarde a todos!

Alguém pode ne dar uma dica, como deixar automático com parâmetros o insert do JSON em Tabela, semelhante a este exemplo abaixo:
Tipo criar uma procedure ou função que insere em uma tabela. que criei. Agradeço, pois conheço pouco o JSON.

Selecionar tudo

insert into departments_jsonjson 
  values ( 110, utl_raw.cast_to_raw ( '{
  "department": "Accounting",
  "employees": [
    {
      "name": "Higgins, Shelley",
      "job": "Accounting Manager",
      "hireDate": "2002-06-07T00:00:00"
    },
    {
      "name": "Gietz, William",
      "job": "Public Accountant",
      "hireDate": "2002-06-07T00:00:00"
    }
  ]
}' ));

Obrigada!

Kátia Cristine
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Olá Katia.
Qual é a estrutura da sua table? Você quer apenas salvar dentro de um campo Texto ?
Existe uma infinidade de coisas que é possível fazer com JSON e Oracle.
Veja esse manual:
https://docs.oracle.com/en/database/ora ... /21/adjsn/
KATIA DIAS
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 16 Mar 2006 8:48 pm
Localização: são PAULO

Olá dr_gori....

Minha estrutura da sua tablela:

Selecionar tudo

CREATE TABLE ATUALIZAR 
   (Id   VARCHAR2(40) not null,
   Json  CLOB not null,
   CONSTRAINT atualizar_pk PRIMARY KEY (id),
   CONSTRAINT atualizar_chk CHECK (Json IS JSON));
Obrigada!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pelo visto, você tem um campo CLOB com uma constraint que testa se o conteúdo é de fato um JSON.
Pra isso, basta fazer um insert comum em PLSQL.
Esse JSON está salvo dentro de alguma variável ?
KATIA DIAS
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 16 Mar 2006 8:48 pm
Localização: são PAULO

dr_gori.., sim.,tem um campo CLOB com uma constraint que testa se o conteúdo é de fato um JSON.. Estou inserindo para teste comum em PL-SQL e trazendo informações via select. , O JSON, ainda não esta salvo em variável.... A ideia era dar um insert automatico e chamar minha procedure para atualizar minhas tabelas que são 4 para ser atualizadas com as informações do campo JSON.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Mas qual é o problema? Não está funcionando? Dá algum erro ?
KATIA DIAS
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 25
Registrado em: Qui, 16 Mar 2006 8:48 pm
Localização: são PAULO

dr_gori, esta funcionando certinho, sem erros e obrigada pelo esclarecimento na sua segunda resposta. Tenho uma dúvida: Por exemplo: Neste campo json, vou trazer o CPF, e estou quebrando a cabeça aqui, de como posso pegar, assim que for inserido na tabela atualizar, digo cada linha, , a trigger dispara e neste momento pego este CPF NOVO a e chamo a procedure usando como paramentro para chamada. Tem ideia como faço? esta dando erro.

Obrigada.
Responder
  • Informação