Jump to content

Search the Community

Showing results for tags 'plsql'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 20 results

  1. Estou tentando mandar uma "Blind Copy" pelo nossa Procedure de envio de email , pela documentação estaria ok , mas não está enviando nem gerando qualquer erro , o código está abaixo , os itens sensíveis foram trocados por "x" O que posso estar fazendo de errado ? SP : create or replace PROCEDURE ENVIA_EMAIL_CLOBHBC (ds_email_origem_w varchar2, ds_email_destino_p varchar2, ds_assunto varchar2, p_attach_clob IN CLOB DEFAULT NULL, p_httm in varchar2 default 'S', p_log out varchar2, p_nome_destino in varchar2 default null) is l_step PLS_INTEGER := 12000; ds_smtp_w varchar2(20) := 'xx.xx.x.xx'; /* Abre conex?o SMTP e HTTP */ CONEXAO UTL_SMTP.CONNECTION; vs_origem varchar2(100) := ds_email_origem_w; -- vs_para varchar2(100); vs_cc varchar2(100); -- PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS BEGIN UTL_SMTP.WRITE_DATA(CONEXAO, name || ': ' || header || UTL_TCP.CRLF); END; BEGIN /* Abre conex?o com um Servidor SMTP(Simple Mail Transfer Protocol), porta padr?o SMTP e 25 */ CONEXAO := utl_smtp.open_connection (ds_smtp_w,25); UTL_SMTP.HELO (CONEXAO, ds_smtp_w); /* Endereco do servidor de SMTP */ --utl_smtp.command (CONEXAO, 'AUTH LOGIN'); --utl_smtp.command (CONEXAO, utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw((ds_user_id_w))))); --UTL_SMTP.COMMAND (CONEXAO, UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(UTL_RAW.CAST_TO_RAW((DS_SENHA_SMTP_W))))); UTL_SMTP.MAIL (CONEXAO, ('<' || vs_origem || '>')); /* E-mail de quem esta mandando */ -- se estiver em lista separado por ";" manda para o 1º como "para" e para o 2º como CC (copia) /* Para quem vou mandar */ IF INSTR(ds_email_destino_p,';') = 0 THEN vs_para := ds_email_destino_p; UTL_SMTP.RCPT (CONEXAO, ('<' || ds_email_destino_p || '>')); /* Para quem vou mandar */ ELSE vs_para := SUBSTR(ds_email_destino_p,1,INSTR(ds_email_destino_p,';')-1); vs_cc := SUBSTR(ds_email_destino_p,INSTR(ds_email_destino_p,';')+1,length(ds_email_destino_p)); UTL_SMTP.RCPT (CONEXAO, ('<' || vs_para || '>')); /* Para quem vou mandar original */ UTL_SMTP.RCPT (CONEXAO, ('<' || vs_cc || '>')); /* Para quem vou mandar copia */ END IF; UTL_SMTP.OPEN_DATA(CONEXAO); If upper(p_httm) <> 'S' Then send_header('Subject','=?iso-8859-1?Q?' ||UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.QUOTED_PRINTABLE_ENCODE(UTL_RAW.CAST_TO_RAW(ds_assunto)))); Else --send_header('Subject','=?iso-8859-1?Q?' ||UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.QUOTED_PRINTABLE_ENCODE(UTL_RAW.CAST_TO_RAW(ds_assunto)))|| '?='); send_header('Subject',UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.QUOTED_PRINTABLE_ENCODE(UTL_RAW.CAST_TO_RAW(ds_assunto)))); end if; If upper(p_httm) <> 'S' Then UTL_SMTP.write_data(CONEXAO, 'Content-Type: text/html; charset="UTF-8"' || utl_tcp.CRLF); Else UTL_SMTP.write_data(CONEXAO, 'Content-Type: text/html; charset="UTF-8"' || utl_tcp.CRLF ); end if; send_header('From',ds_email_origem_w); --se denominou o destino formata o envio , senão vai o proprio email --tratamento diferente do "from" pois este é em geral dinamico --feito pela stored procedure chamadora if trim(p_nome_destino) is null then send_header('To',vs_para); else send_header('To','"'||trim(p_nome_destino)||'" <'||vs_para||'>'); end if; If Trim(vs_cc) is not null Then--copia (nao formata o destino) send_header('CC',vs_cc); end if; send_header('BCC',vs_origem);---<<< A LINHA COM PROBLEMA PARECE SER ESTA *********************** FOR i IN 0 .. TRUNC((DBMS_LOB.getlength(p_attach_clob) - 1 )/l_step) LOOP UTL_SMTP.WRITE_DATA(CONEXAO, DBMS_LOB.substr(p_attach_clob, l_step, i * l_step + 1)); END LOOP; UTL_SMTP.CLOSE_DATA(CONEXAO); UTL_SMTP.QUIT (CONEXAO); Exception when OTHERS then utl_smtp.quit (conexao); p_log := 'Erro: ' || SQLERRM; END ENVIA_EMAIL_CLOBHBC;
  2. Prezados, boa tarde! Preciso de uma ajuda sendo possível: Tenho o seguinte cenário em uma consulta ( formação de kits de produtos tendo como produto principal um valor igual, ex: produto 1 é formado pelos produtos 2 e 3) select codkit, produtos from kit where codkit = 1 --- ---- 1 2 1 3 Percebem que o resultado traz o codigo do kit (1) e os produtos que compoem este kit (2,3), porem o produto 2 tambem faz parte do kit 4 junto com o produto 10 e produto 3 faz parte do kit 5 junto com o produto 11 sendo: kit 1 (2,3) kit 4 (2,10) kit 5 (3,11). Eu preciso de uma ajuda sobre alguma função que ao comprar os produtos 2 e 3 e estes estando na mesma nota fiscal (select produtos from notafiscal = x) traga o resultado do kit que estes dois produtos juntos formam, exemplo, ao pesquisar (select produtos from notafiscal = x) nesta nota existir os produtos 2 e 3 traga o resultado 1, se na nota existir os produtos 2 e 10 traga o resultado 4 e se existir na consulta dos itens da nota os itens 3 e 11 o resultado seja 5. Caso na pesquisa eventualmente existir por exemplo 10 unidades do item 2, 5 unidades do item 3 e 5 unidades do item 10, o resultado deve ser 1 e 4 pois 5 unidades do 2+5 unidades do 3 forma o kit 1 e 5 unidades do 2+ 5 unidades do 10 formam o kit 4. Espero ter explicado de forma a ser entendido e agradeço a ajuda.
  3. Carolm

    Validação de CNPJ com PL/SQL

    Boa Noite, tenho que solucionar um exercício de PL/SQL ,onde devo encontrar um algorítimo/código para poder analisar um CNPJ ,que sera informado pelo usuário,o SQL Developer deve realizar o cálculo para pegar os dígitos validadores desse CNPJ, e por fim analisar se ele é válido ou inválido e no console apresentar o texto : Valido ou inválido dependendo do resultado obtido com o calculo! Nesse exercício sera aberta uma "tela" que vai pedir pro usuário digitar o numero do CNPJ,esse CNPJ sera capturado e analisado através de um calculo de validação de CNPJ (ira analisar os dígitos verificadores) e com o resultado ele ira informar ao usuário se o numero é VALIDO ou INVALIDO! Enunciado : CRIE UM BLOCO ANÔNIMO PL/SQL ORACLE QUE IRÁ SOLICITAR PARA O USUÁRIO O NÚMERO DO: CNPJ - BLOCO ANÔNIMO-DÍGITO VERIFICADOREu rodei o código abaixo o SQL informou que a função foi compilada,porém não aparece a mensagem dizendo se o numero informado é válido ou inválido...Será que poderiam me ajudar ? set serveroutput on ACCEPT CNPJ PROMPT 'Digite o numero do CNPJ' CREATE OR REPLACE FUNCTION CNPJ (p_cgc IN CHAR) RETURN BOOLEAN IS m_total NUMBER := 0; m_digito NUMBER := 0; BEGIN FOR i IN 1..4 LOOP m_total := m_total + substr(p_cgc,i,1) * (6 - i); END LOOP; FOR i IN 5..12 LOOP m_total := m_total + substr(p_cgc,i,1) * (14 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,13,1) THEN RETURN FALSE; END IF; m_digito := 0; m_total := 0; FOR i IN 1..5 LOOP m_total := m_total + substr(p_cgc,i,1) * (7 - i); END LOOP; FOR i IN 6..13 LOOP m_total := m_total + substr(p_cgc,i,1) * (15 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,14,1) THEN RETURN FALSE; END IF; RETURN TRUE; IF CNPJ(14) = TRUE THEN DBMS_OUTPUT.PUT_LINE('VERDADEIRO'); ELSE DBMS_OUTPUT.PUT_LINE('FALSO'); END IF; END; /
  4. eu tenho uma tabela funcionário com uma coluna salário e criei uma nova coluna do tipo salário eu pensei em uma trigger para que todas as vezes que um funcionário receba um aumento, nessa nova coluna seja registrada a quantia do último aumento recebido mas quando executo o update da erro; outra duvida dentro do update como o update sabe que é só deste funcionario? o que colocar na clausula where dentro da trigger? CREATE OR REPLACE TRIGGER new_salario_emp BEFORE UPDATE ON emp FOR EACH ROW -- DECLARE salario number; BEGIN salario := :new.sal - :OLD.sal; -- update emp set old_salario = salario; commit; -- END;
  5. sadamkim

    Função MAX com group BY

    Pessoal, me deparei com um problema. Tenho uma Tabela, onde fica armazenada as transações dos clientes. Cada transação tem vários registros com o campo STATUS. Preciso fazer um MAX, para pegar a ultima transação por data, e assim saber qual foi o status da mesma. Mas ao utilizar o MAX e selecionar o campo STATUS ele me traz todos os registro, porque o mesmo não pode agrupar por status, por conter valores diferentes. É possível criar alguma forma de selecionar no meu caso a ultima transação por data (MAX) e trazer o campo status? Seja com alguma procedure, ou outra função do ORACLE.
  6. douglas.ribeiro.id

    Gerar script para inserir dados

    Bom dia a todos a varios anos que nao tenho que criar um script no oracle nao consigo lembrar ne como começar e tambem estou sem o oracle instalado na maquina alguem poderia me ajudar? o problema e este: Crie um segundo script (SCRIPT2.SQL) que possua um bloco de código para que gere registros fictícios para as tabelas criadas. Gere 1000 registros para a tabela EXAME_NF. Para cada EXAME_NF gere 3 registros. Faça com que a DATACADASTRO do EXAME_NF comece em 10 dias atrás, fazendo com que a cada 100 registros a data seja aumentada em 1 dia, distribuindo assim os 1000 registros em 10 dias diferentes de cadastro.
  7. pamf

    Problema de funcoes de grupo

    Prezados, boa noite! Me deparei com um problema aqui que acredito que seja bem simples para voces. Estou aqui precisando agrupar dados com a maior data de vendas para um cliente Numa coluna para todas as linhas do cliente (registro a registro das notas). Tambem preciso fazer algumas operacoes de total para disponibilizar um SCRIPT SQL sql para ser consumido por uma ferramenta analitica de BI e foi especificado exatamente como esta na planilha. Para facilitar criei os cenários. Tem os scripts de criacao da tabela e de insert e os resultados esperados nas colunas calculadas pelo sql. Espero que a documentação esteja boa para o caso de uso e que voces possam me ajudar. POde ser didatico para quem da aulas de PL SQL. Grato Att Paulo PS: como nao aceitou a planilha, escrevo abaixo: --SCRIPT DE CRIACAO TABELA ORACLE CREATE TABLE T_VENDAS (DATA_VENDA DATE, COD_CLI NUMBER (10), CLIENTE VARCHAR2(10), NUM_NF VARCHAR(10), ITEM VARCHAR2(20), QTDE NUMBER (10,2), VL_TOT_ITEM NUMBER (10,2), VL_UNIT NUMBER (10,2)); --INSERTS INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','MESA',1,200,200); INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','CADEIRA',4,240,60); INSERT INTO T_VENDAS VALUES('21-Jan-2019',15,'JOAO','66','BANCO',2,240,120); INSERT INTO T_VENDAS VALUES('08-Feb-2019',15,'JOAO','102','GELADEIRA',1,600,600); INSERT INTO T_VENDAS VALUES('07-Mar-2019',15,'JOAO','145','ARMARIO',1,450,450); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','SOFA',1,750,750); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','TAPETE',2,280,140); INSERT INTO T_VENDAS VALUES('21-Jan-2019',20,'MARIA','72','CORTINA',2,160,80); INSERT INTO T_VENDAS VALUES('08-Feb-2019',20,'MARIA','120','CAMA',1,400,400); INSERT INTO T_VENDAS VALUES('17-Feb-2019',20,'MARIA','151','COLCHAO',1,500,500); CENARIOS (DADOS INSERIDOS NA TABELA T_VENDAS - COLUNAS DO EXCEL ABAIXO: B, C, D, E, F, G, H, I) COLUNAS CALCULADAS ESPERADAS NO SCRIPT SQL ALEM DAS COLUNAS JA EXISTENTES NA TABELA RESULTADO ESPERADO DO SCRIPT SQL
  8. Bom dia, tenho uma tabela cuja estrutura está toda em VARCHAR. Essa tabela contem algumas colunas com valores decimais, e quero executar algumas queries para fazer algumas operações aritméticas, como: -Devolver valores maiores que xx.xx, etc. Mas estou a ter erros, como: ORA-12801: erro assinalado no servidor de consulta paralela P009, instance ptlhb100.pt.sedc.internal.vodafone.com:CSTMRDM2 (2) ORA-01722: número inválido 12801. 00000 - "error signaled in parallel query server %s" *Cause: A parallel query server reached an exception condition. *Action: Check the following error message for the cause, and consult your error manual for the appropriate action. *Comment: This error can be turned off with event 10397, in which case the server's actual error is signaled instead. Estou a executar a querie: SELECT TBL_NUMBER FROM MOBILE_UPSELL tl WHERE TO_NUMBER(tl.ARPU_MIB) < 8.01 Já tentei TO_BINARY_NUMBER e dá o mesmo erro. O que está mal aqui? Obrigado Paulo
  9. luizfabianochaves

    calcular prazo medio ponderado

    bom dia.. preciso fazer o calculo do prazo medio de recebimento da minha empresa, em relação ao periodo do ano passado. já tenho a soma de tudo o que recebi com 30, 60, 90, 120 e mais de 120 dias.. como calcular o prazo medio do pl sql com essas informações?
  10. Salve Galera, estou quase finalizando um relatório porém travei em um campo. Este relatório consiste em subtrair hora de entrada e saída, trazer em dias horas e minutos de um período. Depois preciso calcular a média destes resultados. eu barrei na parte de dias não vem a informação correta. Segue select se alguem puder me dar uma força. SELECT io.id_in_out, IOP.DOCUMENT,IO.TIME_IN entrada, IO.TIME_RELEASE_PP saida, LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) /24 )), 2, '0') || ':' || LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) * 24 )), 2, '0') || ':' || LPAD(TRUNC(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600) / 60), 2, '0') || ':' || LPAD(TRUNC(MOD(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600), 60)), 2, '0') TEMPO FROM DESMEMBR DD, IN_OUT_POS IOP, IN_OUT IO, SPEDITEURE S, VEHICLE V, DRIVER D WHERE DD.TYP_PROCESS = 'DINACI' AND 'DI' = IOP.TYP_DOCUMENT AND DD.NR_DI = IOP.DOCUMENT AND IOP.ID_IN_OUT = IO.ID_IN_OUT AND IO.ART_IN_OUT IN ('CA', 'CC', 'CCE') AND IO.STAT <> '80' AND S.ID_SPEDITEUR = IO.ID_SPEDITEUR AND V.ID_VEHICLE = IO.ID_VEHICLE AND IO.TIME_IN >= TO_DATE('01/12/2018', 'dd/mm/yyyy') AND IO.TIME_IN <= TO_DATE('31/12/2018', 'dd/mm/yyyy') AND D.ID_DRIVER = IO.ID_DRIVER O resultado acima está vindo assim: 1 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50 2 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50 Depois de acertar isso preciso realizar a média que a principio eu utilizaria o AVG mas dá erro. Agradeço quem puder me ajudar.
  11. Galera salve salve a todos, Estou com um problema em um select e preciso da ajuda de vocês. O select se refere a calculo de faturamentos os quais calculam os itens cobrados na NF. Eu preciso gerar um relatório destes lançamentos e com isso criei o select abaixo. select bo.lager, bo.id_os, k.id_klient, k.suchbegriff cnpj_cpf, k.name, bi.div_1 lote, bi.div_10 di_dde, (select distinct dis.id_dispatcher from fiscal.dochd dc, wms_eadi.dispatcher dis where dc.dochd_doc_id = bo.nr_nf and dc.dochd_rps_desp = dis.suchbegriff) cod_comissaria, (select distinct dis.bez from fiscal.dochd dc, wms_eadi.dispatcher dis where dc.dochd_doc_id = bo.nr_nf and dc.dochd_rps_desp = dis.suchbegriff) comissaria, bo.nr_nf, bo.date_bill, bo.date_emiss, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'ARMAZ')) vlr_armaz, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'GER.RISCO')) vlr_ger_risco, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'MOVIMENT')) vlr_movimentacao, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'DESUNIT')) vlr_desunit, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'PESAGEM')) vlr_pesagem, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'AVERBAÇÃO')) vlr_averbacao, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and wer.wert = 'FAT.MINIMO.')) vlr_fat_minimo, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and bll.billite not in ('21.02', '21.03') and wer.wert = 'OUT.SERV.')) vlr_outros_serv, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and bll.billite = '21.02' and wer.wert = 'OUT.SERV.')) transf_in, (select sum(round(osi.preis, 2)) from bill_os_item osi where osi.lager = bo.lager and osi.id_klient = k.id_klient and osi.id_os = bo.id_os and osi.billite = bi.billite and osi.div_1 = bi.div_1 and nvl(osi.div_10, 'x') = nvl(bi.div_10, 'x') and osi.billite in (select bll.billite from bill_item bll, werte wer where bll.tipo_fat = wer.wert and wer.werte_ber = 'ITENSF' and bll.billite = '21.03' and wer.wert = 'OUT.SERV.')) transf_out from bill_os bo, bill_os_item bi, klienten k where bo.lager = bi.lager and bo.id_klient = bi.id_klient and bo.id_os = bi.id_os and bo.lager = k.lager and bo.id_klient = k.id_klient and bo.status = '90' and k.id_klient = '2464' --and trunc(bo.date_bill) between '$inicio' and '$fim' group by bo.lager, bo.id_os, k.id_klient, k.suchbegriff, k.name, bo.date_emiss, bo.nr_nf, bo.date_bill, bi.billite, bi.div_1, bi.div_10 Ele me traz os resultados por linhas de cada tipo de cobrança. Segue imagem do resultado. Eu preciso que os resultados viessem em apenas uma linha, estou quebrando a cabeça com isso. o resultado tem que ser assim:
  12. Galera, boa tarde. já procurei em vários lugares, inclusive aqui no forum e ja to acreditando que não dá pra fazer isso com sql dinamico do oracle. Preciso fazer a chamada de uma procedure com informações de uma tabela. vou tentar explicar: tenho uma tabela 'CUSTOMIZADOS' CNPJ | procedure | OBS| Pelo cnpj da tabela eu tenho uma chamada da procedure tipo 'proc_customizado.interfacecustomizada(parametro1, parametro2);' então coloquei dentro do campo PROCEDURE da minha tabela a seguinte chamada ''BEGIN PROC_CUSTOMIZADA.INTERFACECUSTOMIZADA(:PAR1, :PAR2); END;' ' Faço o select na tabela jogando esse resultado na váriaveL e depois tentando executar ela assim: SELECT PROCEDURE INTO V_INTERFACE_CUSTOM FROM 'CUSTOMIZADOS' WHERE CNPJ = '12345678901234'; EXECUTE IMMEDIATE V_INTERFACE_CUSTOM USING PARAMETRO1, PARAMETRO2; é possível fazer a chamada de uma procedure assim por sql dinâmico ? abaixo o erro que me gera 00900. 00000 - "invalid SQL statement" *Cause: *Action:
  13. Boa tarde! Estou tentado trazer o resultado de um select na minha aplicação, porém eu utilizo uma function que concatene todos os registros em uma única linha é passado por parâmetro a query que traz esses registros. Porém ao passar para a minha aplicação, a mesma não reconhece o parâmetro dentro da string e acaba não trazendo nada. Por exemplo: Exemplo que deveria dar certo: select obter_concatenar_bv('select material from prescricao where n_atendimento=:n_atendimento','medicamento:',' /// ') from dual Exemplo que da certo na aplicação: select obter_concatenar_bv('select material from prescricao where n_atendimento=56435','medicamento:',' /// ') from dual
  14. Boa noite pessoal, Preciso de ajuda com um exercício da faculdade que estou sem norte de como proceder. Temos um schema chamado CARLOCA, que é a simulação de um serviço de aluguéis de carros online. Temos os scripts para criar as tabelas (spoiler 1) e para populá-las (spoiler 2). Precisava alterar o procedimento de carga do CARLOCA fazendo com que os dados sejam espalhados de 19/01/2010 até 31/12/2016. E também alterar os veículos, indicado as datas de fabricação que devem variar de 02/01/2008 até 02/01/2010. Alguém consegue me dar um norte de como começar? PS: O modelo foi criado para ensinar ETL, por isso esta todo bagunçado. Sou novo então por favor não me julguem rsss.
  15. Prezados, Tenho uma situação onde preciso criar um pl/sql que limite o número de comits para o sql executado. O problema é que a entrada é um arquivo sql pronto contendo inserts. Como poderia fazer isso? Desculpem, sou iniciante.
  16. crazyshock

    Classes Java - Bibliotecas

    Galera, estou precisando de uma pequena ajuda em uma situação. Estou desenvolvendo Classes Javas no banco Oracle, e até aqui está tudo certo. Porém estou precisando usar bibliotecas externas e a minha dúvida é, como que faço a importação desses Jars para o meu banco de dados? Meu banco de dados é 11g e uso o Oracle SQL Developer para desenvolver. Agradeço a ajuda!
  17. Na package UTL_HTTP , temos o método set_proxy nele um parâmetro no_proxy_domains , como este funciona. Em resumo quero fazer um request de uma URL sem precisar de autenticação.
  18. Luan Bento

    Usando Alias em Operações

    Boa noite a todos, Estou fazendo alguns exercício utilizando PL/SQL e travei na hora achar a porcentagem, porque parece que o PL/SQL não realiza operações matemáticas utilizando alias isso procede? Qual solução usar nesse caso? Até o momento consegui achar o total de aluno e total de alunos que fazem musculação Exercício : Achar a Porcentagem de alunos que fazem Musculação select DISTINCT (select count(*) from aluno)"Total Aluno" , (select count(At.nome)from matricula Ma inner join aluno Alu on Ma.aluno_codmatricula=Alu.codmatricula inner join turma Tu on Alu.turma_idturma=Tu.idturma inner join atividade At on Tu.atividade_idatividade=At.idatividade where At.nome like 'M%' group by At.nome )"Total Musculação" from aluno Desde já agradeço a atenção
  19. Alguém teria um exemplo simples de uma Procedure PLSQL (ou local da documentação) para gerar um arquivo XML com base em um Schema (xsd) , os dados seriam gerados a partir de uma consulta SQL. Na realidade arquivos do RPS da ANS (Agência Nacional de Saúde BR).
  20. valtinho2005

    Auditoria de registro

    Boa tarde! Estou trabalhando atualmente com banco de dados Oracle com o PLSQL. O ERP da empresa que trabalho e que dou manutenção é o JDE e para quem conhece, este sistema não guarda, em suas tabelas, informações de auditoria para criação de registros, somente guarda informações de quando o registro foi alterado pela última vez. Então, hoje, abriram um chamado para que eu informasse quando um registro (pedido de adiantamento) foi inserido no sistema, a data de requisição eu tenho porém não tenho a HORA, que foi a informação solicitada. Via PLSQL eu tenho alguma ferramenta que me retorna quando o registro entrou no banco de dados, igual temos parecido com aquivos do windows, quando ele foram criados!? Desde já agradeço a atenção de todos!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.