Jump to content

Search the Community

Showing results for tags 'Oracle'.



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 195 results

  1. TikTok evita bloqueio graças a acordo com Oracle e Walmart
  2. gcors88

    Gatilho com inserção simultânea

    Prezados, desenvolvi um gatilho onde este tem comunicação com outra tabela, uma é a coleta_sinal_vital, e onde o gatilho foi criado é na table itcoleta_sinal_vital ( esta possui uma fk da primeira), a questão é que dentro do gatilho realizo um select na primeira tabela para consultar o valor inserido em uma coluna da primeira tabela, faço essa consulta baseada nessa fk que esta sendo inserida ou seja where = :new.cd_coleta_sinal_vital, a questão é que no momento em que esse select é executado ele não retorna dado nenhum, acredito que isto ocorre porque a inserção em ambas as tabelas é feito de forma simultânea, pois se comparado posteriormente o valor da coluna sempre é inserido, gostaria de saber se existe alguma forma de aplicar uma espera ou atraso neste gatilho para que ele possa capturar este valor sem problemas, grato!
  3. NaPraia

    Sequence perde o grant

    Olá pessoal, Estou com um probleminha, eu tenho uma sequence criado num owner (owner_a), executei o comando para criar em outro owner(owner_b): grant all on sequence_a to owner_b e consegui usar, só que no dia seguinte esse grant sumiu e deu erro: ora-00942: tabela ou view não existe. No owner_a funciona corretamente. voltei a executar o comando de grant de funcionou de boa mas de ontem para hoje ocorreu novamente E acontece só para essa sequence, as outras do banco, não têm problema, funcionam normalmente Eu até pensei em dar um drop e criar de novo mas fico com receio que possa ter algum impacto no sistema que é daqueles que ninguém gosta de mexer, "tá funcionando, não mexe" E acontence nos dois ambiente, homologação e produção. Obrigado
  4. NaPraia

    FK de diferentes tipos

    buenas no sistema eu tenho uma tabela A com um campo que é do tipo NUMBER um outro sistema, tem uma tabela B que se relaciona com esse campo da tabela A, é que é do tipo NUMBER(19,2) Se relacionam corretamente mas não foi possível criar a constraint de FK não estou pensando em alter table pois pode gerar um caos no sistema verificar por trigger se já existe? obrigado
  5. Salve galera estou com um problema em uma consulta no banco de dados. Preciso trazer um xml de um campo porém tem alguns lançamentos que estão com mais de 4000 caracteres, estou usando para a pesquisa o seguinte select SELECT ID_WS_GATEWAY, ID_WS_CONFIG, STATUS, ERRCODE, ERRMSG, FOLDER, FILENAME, DATE_IN, DATE_ON, SITE, WS, DBMS_LOB.SUBSTR(T.XMLDATA.getClobVal(),4000,1) XMLDATA, DIRECTION FROM WS_GATEWAY T Tem alguma outra forma de buscar uma quantidade maior neste campo?
  6. Olá, Estou enfrentando o seguinte problema. Tenho uma aplicação web desenvolvida por terceiros rodando no CentOS Linux e consultando um banco Oracle. O banco Oracle está configurado da seguinte forma: NLS_LANGUAGE = BRAZILIAN PORTUGUESE NLS_TERRITORY = BRAZIL NLS_CHARACTERSET = WE8ISO8859P1 NLS_NCHAR_CHARACTERSET = AL16UTF16 Quando realizo uma query SQL a partir da aplicação no servidor CentOS em questão o caracteres de acentuação vêm modificados. Tentei elaborar a query com o comando CONVERT, como abaixo: Sintaxe: CONVERT(string_expression,to_data_set[,from_data_set]); ex: SELECT CONVERT( 'Ä Ê Í', 'US7ASCII', 'WE8ISO8859P1' ) FROM DUAL; No meu caso, estou tentando: SELECT CONVERT (expressao, 'UTF8', 'WE8ISO8859P1') FROM ... Porém não consigo encontrar a combinação correta de to_data_set e from_data_set. Alguma sugestão? Inclusive de uma abordagem diferente dessa do uso do CONVERT. Agradeço. --ASF
  7. Pedro Vinicius Miguel Dias

    Problema na criação de uma nova conexão com o BD

    Pessoal, estou estudando o Banco de Dados Oracle e estou tendo um problema pra criar uma nova conexão. Durante o curso, o instrutor pede que eu crie duas conexoes, a TESTE com a senha: teste e a PRATICA com a senha :pratica... cada uma com uma senha e etc e elas funcionam. Eu por minha conta quis criar outra conexão com outro nome e outra senha, Ex. (User TESTE2 e senha: teste2) e ao testar, o Banco não conecta. Erro ORA-01017. Alguém consegue me ajudar?
  8. Matsuura

    [Resolvido] Usuario Scott

    Estou tentando criar o usuário o Scott, e na internet encontro bastante tutoriais para instalação do HR, para o scott dois que me referenciei foram: https://www.profissionaloracle.com.br/swillians/forums/topic/usuario-scott-tiger-banco-oracle-10g-express-edition-xe/ https://docs.oracle.com/database/121/COMSC/installation.htm#COMSC00007 no primeiro link que tentei seguir não encontrei após a intalação o arquivo "demobld.sql"estou enviando a imagem com nome "sql1" e "sql2" que mostram a minha tentativa de instalação, com as mensagens de erros que me retornaram, no segundo link mostra as instalações de schemas, mas não mostra especificamente o Scott. Espero que possam me ajudar, estou a mais de duas semanas tentando sem exito.
  9. NaPraia

    Gerar arquivo em PDF

    Buenas, alguém já gerou arquivo em pdf? eu já usei utl_file e text_io para gerar excel mas para pdf não sei se dá, sabem? tenho pesquisado e falam do BI Publisher, já usaram?
  10. Olá, Gostaria de fazer uma query mas o retorno ou vem ou não vem dados. Vou citar exemplos. Me ajudem PF se o melhor caso é union ou outro? 1) Tabela 1 e tabela 2 com campos distintos e um campo em comum com Join no campo card. Resultado: No meu select qdo tem dados nas 2 tabelas então retornam todos em comum em uma única linha. Tabela 1(id, card) 1, xxx 2, yyy 3, zzz Tabela 2 (id, card, fraude) 1, xxx, sim 2, yyy, sim 3, zzz, pendente Select a.id, a.card, b.card, b.fraude from t1 a,t2 b where a.card=b.card; Retorno: Id,Card,Card,fraude 1, xxx,xxx,sim 2, yyy,yyy,sim 3, zzz,zzz,pendente O problema é qdo na tabela 2 não tem o dado: 2)Tabela 1 e tabela 2 com campos distintos e um campo em comum com Join no campo card. Resultado: No meu select qdo tem dados na tabela 1 e não tiver dado na tabela 2 então retornam linha que só tem na tabela 1. Tabela 1(id, card) 1, xxx 2, yyy 3, zzz 4,xyz Tabela 2 (id, card, fraude) 1, xxx, sim 2, yyy, sim 3, zzz, pendente Select a.id, a.card, b.card, b.fraude from t1 a,t2 b where a.card=b.card; Retorno: Id,Card,Card,fraude Nenhuma linha Ou não estou certo, retorna igual ao exemplo1: 1, xxx,xxx,sim 2, yyy,yyy,sim 3, zzz,zzz,pendente Pergunto, neste exemplo 2 como faço pra retornar somente todas as linhas e se não tiver a linha na tabela 2 ficar com estes campos null? Desta forma; Retorno: Id,Card,Card,fraude 1, xxx,xxx,sim 2, yyy,yyy,sim 3, zzz,zzz,pendente 4,xyz,null,null Ou no lugar de null, ficar vazia as colunas REF a tabela 2. Na vdd são exemplos, mas a qtd de Join é mais complexos Muito obrigado!!!!
  11. José Peixoto

    Disparo ordenado de triggers

    Olá, há alguma forma de fazer uma trigger só ser executada depois que a outra executar? Por exemplo: a trigger2 só é disparada quando a trigger1 fizer o commit das informações. Obrigado desde já :)
  12. Estou com a seguinte situação: No Mysql eu consegui fazer em "insert into" de uma única vez, com vários registros, conforme abaixo: insert into prefeitos (nome, cidade_id) VALUES ('Rodrigo Neves', 2), ('Caique Rosa Baldran', 9), ('Raquel Lira', 11), ('Maísa Albuquerque Sain', 12), ('Zenaldo Coutinho', null); Porém, no Oracle 12C, usando a mesma forma que no Mysql, está dando o seguinte erro: insert into e080rat (CODEMP, CODSER, SEQRAT, TIPRSC, CRIRAT, NUMPRJ, CODFPJ, CTAFIN, CTARED, PERCTA, CODCCU, PERRAT) values ('800', 'S0001', '279', 'U', '5', '0', '0', '1360', '13730', '100', '31058', '100'), ('800', 'S0001', '280', 'U', '5', '0', '0', '1360', '13730', '100', '31060', '100'), ('800', 'S0001', '281', 'U', '5', '0', '0', '1360', '13730', '100', '31202', '100'), ('800', 'S0001', '282', 'U', '5', '0', '0', '1360', '13730', '100', '31203', '100'); ORA-00933: comando SQL não encerrado adequadamente Será que a sintaxe no Oracle é diferente? Eu sei que assim funciona perfeitamente: insert into e080rat (CODEMP, CODSER, SEQRAT, TIPRSC, CRIRAT, NUMPRJ, CODFPJ, CTAFIN, CTARED, PERCTA, CODCCU, PERRAT) values ('800', 'S0001', '279', 'U', '5', '0', '0', '1360', '13730', '100', '31058', '100'); insert into e080rat (CODEMP, CODSER, SEQRAT, TIPRSC, CRIRAT, NUMPRJ, CODFPJ, CTAFIN, CTARED, PERCTA, CODCCU, PERRAT) values ('800', 'S0001', '280', 'U', '5', '0', '0', '1360', '13730', '100', '31060', '100'); insert into e080rat (CODEMP, CODSER, SEQRAT, TIPRSC, CRIRAT, NUMPRJ, CODFPJ, CTAFIN, CTARED, PERCTA, CODCCU, PERRAT) values ('800', 'S0001', '281', 'U', '5', '0', '0', '1360', '13730', '100', '31202', '100'); insert into e080rat (CODEMP, CODSER, SEQRAT, TIPRSC, CRIRAT, NUMPRJ, CODFPJ, CTAFIN, CTARED, PERCTA, CODCCU, PERRAT) values ('800', 'S0001', '282', 'U', '5', '0', '0', '1360', '13730', '100', '31203', '100'); Porém, eu tenho uma tabela com quase 100.000 registros e gostaria de fazer em um único "insert". Eu uso o PL/SQLDeveloper e quando faço o "insert" da forma acima, com vários "insert into", ele abre um novo documento para cada "insert into", nisso ele trava, fica horas rodando o "insert" e não conclui se for em um único "insert" como no Mysql, creio que não pesaria tanto. Tem uma forma mais fácil de fazer o "insert into" com muitos dados envolvidos? Desde já agradeço.
  13. E ai pessoal! Estou desenvolvendo uma procedure e estou com dificuldade para validar um campo. É seguinte, preciso verificar se o campo contem um registro, se contem, realiza o update concatenando com o registro de entrada e se não conter registro, apenas faça o update com o registro de entrada. Obs: Esse campo é separado por virgula. Segue o meu código: CREATE OR REPLACE PROCEDURE SP_VINCULO ( P_COD_MATRIZ IN TB_EDIEXT_PERFIL.COD_MATRIZ%TYPE, P_CONCIL IN TB_EDIEXT_PERFIL.CONCIL%TYPE, P_ID_MBX IN TB_EDIEXT_PERFIL_MBX.ID_MBX%TYPE, P_ID_CONCIL INT, P_DIR_DEST VARCHAR2, P_PROTOCOLO VARCHAR2 ) IS V_EC TB_EDIEXT_PERFIL.CONCIL%TYPE; V_REG_CONCIL NUMBER(1); V_CONCIL_EC VARCHAR(10); CONTEM_EC EXCEPTION; CONTEM_REG EXCEPTION; CURSOR VERIFICA_EC IS SELECT P_CONCIL FROM TB_EDIEXT_PERFIL WHERE CONCIL = 'EC'; CURSOR VERIFICA_CONCIL IS SELECT CONCIL FROM TB_EDIEXT_PERFIL WHERE CONCIL = 'EC'; BEGIN INSERT INTO TB_EDIEXT_PERFIL_MBX VALUES (PERFIL_MBX.nextval, (SELECT ID FROM TB_EDIEXT_PERFIL WHERE COD_MATRIZ = P_COD_MATRIZ), (SELECT ID FROM TB_EDIEXT_MBX WHERE MBX = 'MB'||P_CONCIL)); IF P_PROTOCOLO = 'SFTP' THEN INSERT INTO TB_EDIEXT_PERFIL_SFTP VALUES (PERFIL_SFTP.nextval, (SELECT ID FROM TB_EDIEXT_PERFIL WHERE COD_MATRIZ = P_COD_MATRIZ), P_ID_CONCIL, P_DIR_DEST); UPDATE TB_EDIEXT_PERFIL SET SFTP = 1 WHERE COD_MATRIZ = P_COD_MATRIZ; ELSE INSERT INTO TB_EDIEXT_PERFIL_CD VALUES (PERFIL_CD.nextval, (SELECT ID FROM TB_EDIEXT_PERFIL WHERE COD_MATRIZ = P_COD_MATRIZ), P_ID_CONCIL, P_DIR_DEST, NULL); UPDATE TB_EDIEXT_PERFIL SET CD = 1 WHERE COD_MATRIZ = P_COD_MATRIZ; END IF; OPEN VERIFICA_EC; FETCH VERIFICA_EC INTO V_EC; IF P_CONCIL = 'EC' THEN RAISE CONTEM_EC; END IF; SELECT CASE WHEN EXISTS ( SELECT CONCIL FROM TB_EDIEXT_PERFIL WHERE CONCIL LIKE P_CONCIL) THEN 1 ELSE 0 END AS VERIFICA_CONC INTO V_REG_CONCIL FROM DUAL; IF V_REG_CONCIL = 1 THEN RAISE CONTEM_REG; END IF; OPEN VERIFICA_CONCIL; FETCH VERIFICA_CONCIL INTO V_CONCIL_EC; -- NESTA ETAPA ESTOU VERIFICANDO SE O CAMPO É = 'EC', SE FOR ELE FAZ APENAS O UPDATE SUBSTITUINDO PARA O P_CONCIL DE ENTRADA IF V_CONCIL_EC = 'EC' THEN UPDATE TB_EDIEXT_PERFIL SET CONCIL = P_CONCIL WHERE COD_MATRIZ = P_COD_MATRIZ; -- AQUI DEVERIA FAZER O UPDATE CONCATENANDO O P_CONCIL, MAS NÃO ESTÁ FUNCIONANDO. ELSE UPDATE TB_EDIEXT_PERFIL SET CONCIL = (SELECT CONCIL FROM TB_EDIEXT_PERFIL WHERE COD_MATRIZ = P_COD_MATRIZ)||','||P_CONCIL WHERE COD_MATRIZ = P_COD_MATRIZ AND ROWNUM = 1; END IF; EXCEPTION WHEN CONTEM_EC THEN DBMS_OUTPUT.PUT_LINE('NÃO É PERMITIDO VINCULAR '||V_EC); WHEN CONTEM_REG THEN DBMS_OUTPUT.PUT_LINE('ERRO! A matriz ja possui vinculo com a conciliadora.'); CLOSE VERIFICA_EC; CLOSE VERIFICA_CONCIL; END; / O que está ocorrendo é o seguinte, ele está substituindo o campo CONCIL sempre com o parâmetro de entrada P_CONCIL e a concatenação não está funcionando. Alguém sabe o porque? Obrigado desde já!
  14. CREATE TABLE mensagem ( codmensagem INTEGER PRIMARY KEY, conteudo VARCHAR, codusuorigem INTEGER, codusudestino INTEGER, status INTEGER, CONSTRAINT codusuorigem_fk FOREIGN KEY(codusuorigem) REFERENCES amigos(codusua), CONSTRAINT codusudestino_fk FOREIGN KEY(codusudestino) REFERENCES amigos(codusub) ); Relatório de erros - ORA-00906: parêntese esquerdo não encontrado 00906. 00000 - "missing left parenthesis"
  15. Salve Galera, tenho uma tabela no banco de dados que estão salvos os dados de fotos armazenadas, uma das tabela consta o caminho das mesmas. Hoje consigo buscar estas fotos, mostrar na tela do site tudo certo. Porém estou precisando adicionar um botão para o envio de email com estas imagens em anexos. Saberiam me dizer como posso fazer isso? Tenho um formulário com os campos Remetente: Nome / Email - Destinatário: Nome / Email e o campo de input file porém as imagens não carregam. Fiz um teste assim: <div class="input_fields_wrap"> <?php while ($row = oci_fetch_object($stmt2)) { ?> <div><input type="file" name="fotos[]" value="<?=$string3?>" multiple></div> <? }?> </div> Ele carrega assim até lista a quantidade de imagens na consulta mas não carrega as imagens.
  16. asacap1000

    Mostrar imagens vindo de outro servidor

    Salve galera. estou com uma zica aqui e não vai. Tenho um servidor WEB final IP final 120 neste servidor eu acesso um banco de dados de outro servidor 122, tem uma tabela com fotos e precisaria mostrar estas fotos na intranet. porém ele me mostra o caminho mas não mostra a imagem. Na Tabela está sendo salvo desta forma: Z:/Avarias/FOTOS/Alfandegado/2020/01.%20JANEIRO/14.01.2020/AVARIA%20CLIENTE%20CN=%20191234%20(2).JPG Chamei ele na tela desta forma: <?php ociexecute($stmt2,OCI_DEFAULT); while ($row = oci_fetch_object($stmt2)) { $string = OCIResult ($stmt2 ,1); ///link da avaria $avaria = OCIResult ($stmt2 ,2); ///titulo da avaria ?> <a href="<?=$string ?>" width="20%" height="30%" data-lightbox="gallery" > <button type="button" class="btn btn-dark active" data-toggle="modal" data-target="#modalExemplo"> <img src="<?=$string?>" width="160" height="100" class="rounded" title="<?=$avaria?>"> <br> </button> Na tela aparece desta forma: Se eu clicar na imagem fica assim apenas carregando: Se eu mandar abrir em nova guia a imagem aparece essa mensagem: Se eu copiar o link com botão direito e abrir no navegador ela abre normalmente. Ah lembrando que são tres servidores 120 web, 122 banco de dados, 128 as fotos onde salva como mapeamento Z:// Alguem teria alguma idéia de como chamar estas fotos???
  17. Google e Oracle decidem na Suprema Corte briga judicial sobre Android
  18. Oracle lança programa educacional para capacitar jovens na área de TI
  19. Maccio

    Funcionários Férias

    Estou tentando criar um relatório com total de horas trabalhadas do funcionários por dia, tenho uma tabela FRQ_digitacao onde eu tenho os dados para calcular o total de horas e se tiver com zero horas eu digo a ocorrência do mesmo, ex: falta, Folga, etc. Quero também colocar a informação de férias quando o mesmo estiver de férias, porém quando ele está de férias a tabela FRQ_digitacao fica sem registros nos dias de Férias, assim tenho que buscar a informação na tabela FLP_Ferias onde é lá que diz o gozoinicial e gozofinal, porém não estou conseguindo fazer essa comparação já que na tabela FRQ_digitacao nesses dias de ferias o funcionário fica sem registro. select T.CODINTFUNC, f.CHAPAFUNC, LISTAGG( CASE WHEN T.NORMALDIGIT=0 THEN OC.DESCMAPAOCORR WHEN t.DTDIGIT IS NULL THEN 'dt.dtdigit' --when dt.dtdigit between fe.inicio and fe.fim --then 'FER' ELSE to_char((TRUNC(T.NORMALDIGIT)+TRUNC(t.extradigit)+TRUNC(t.extranotdigit))+ ((trunc(((T.NORMALDIGIT-trunc(T.NORMALDIGIT))+(t.extradigit-trunc(t.extradigit))+(t.extranotdigit-trunc(t.extranotdigit)))/0.60))+ mod(((T.NORMALDIGIT - trunc(T.NORMALDIGIT))+(t.extradigit - trunc(t.extradigit))+(t.extranotdigit - trunc(t.extranotdigit))),0.60)),'FM99999D90', 'nls_numeric_characters=''.,''' ) END, ' ') within group (order by t.dtdigit) horas, MAX(FE.INICIO), MAX(FE.FIM ) from vw_funcionarios f, FRQ_DIGITACAOMOVIMENTO O, FRQ_OCORRENCIA OC, frq_digitacao t, (select f.codintfunc INT, f.chapafunc, max(fe.dtcompetfer)COMPET, MAX(fe.gozoinifer) INICIO, MAX(fe.Gozofinfer) FIM from flp_ferias fe, flp_funcionarios f where f.codintfunc=fe.codintfunc AND F.SITUACAOFUNC='A' and f.codigoempresa=1 AND FE.STATUSFERIAS='N' group by f.chapafunc, f.codintfunc) FE, (select t.DTDIGIT from frq_digitacao t WHERE t.dtdigit between '01-NOV-2019' AND '20-NOV-2019' group by t.dtdigit) DT where DT.DTDIGIT(+)=T.dtdigit and fe.INT=t.codintfunc and f.codintfunc=t.codintfunc AND F.CODIGOEMPRESA=1 and O.CODINTFUNC=T.CODINTFUNC AND T.DTDIGIT=O.DTDIGIT AND O.CODOCORR=OC.CODOCORR AND dt.dtdigit BETWEEN '01-NOV-2019' AND '20-NOV-2019' -- AND F.CODDEPTO BETWEEN 15 AND 15 AND O.STATUSDIGIT='N' and o.iddigit = (select max(p.iddigit) from frq_digitacaomovimento p where o.codintfunc=p.codintfunc and o.dtdigit=p.dtdigit AND P.STATUSDIGIT='N' and p.dtdigit between '01-NOV-2019' AND '20-NOV-2019') group by f.CHAPAFUNC, T.CODINTFUNC
  20. Bom dia galera, É o seguinte, possuo um banco de dados Oracle 10g instalado em um Oracle Linux. Hoje em dia faço backup apenas com Expdp, nunca usei Rman por falta de experiência e porque quando entrei a rotina de backup já existia. Sou leigo em questão Rman, pesquisei um pouco ultimamente e vi que o banco precisa estar em modo archivelog, coisa que meu banco não está, o tamanho total dos meus dbf gira em torno de 80gb. Estou com um pouco de receio de alterar para modo archivelog, pode dar algum problema? No modo archivelog há algum problema em casos de desligamento inesperados, é necessário algum comando quando o servidor ligar? O que realmente preciso verficar para ativar o archivelog? Pretendo efetuar essa mudança para trocar de hardware, já possuo um outro servidor de testes onde regularmente importo o arquivo de backup para testes, a ideia era colocar esse servidor de testes como servidor de produção.
  21. pablwo

    Erro ao Criar Trigger

    CREATE TABLE FUNCIONARIO( MATRICULA NUMBER PRIMARY KEY, NOME VARCHAR2(100) ); CREATE TABLE DEPENDENTE( CPF VARCHAR2(14) PRIMARY KEY, NOME VARCHAR2(100), MATRICULA_FUNCIONARIO NUMBER, CONSTRAINT fk_dependente_matricula FOREIGN KEY (matricula_funcionario) REFERENCES FUNCIONARIO(matricula) ); CREATE OR REPLACE TRIGGER QUANTIDADE_DE_DEPENDENTE BEFORE INSERT OR UPDATE ON DEPENDENTE FOR EACH ROW BEGIN IF:NEW.MATRICULA_FUNCIONARIO IN (SELECT MATRICULA_FUNCIONARIO FROM DEPENDENTE HAVING COUNT(MATRICULA_FUNCIONARIO) >= 3 GROUP BY MATRICULA_FUNCIONARIO) THEN RAISE_APPLICATION_ERROR(-20000, 'Funcionario Excedeu a Quantidade de Dependentes'); END IF; END; Boa noite, estou com dificuldades em criar triggers no sql oracle. Minha dificuldade é criar um trigger que so permita que um funcionario tenha no maximo 3 dependetes, acredito que o erro seja no select dentro do if, quando eu troco por valores como (1,2,3) esses valores servem como matriculas de funcionários que não é mais permitido adicionar dependentes.
  22. Boa tarde, No banco de dados tenho as informações a seguir, em diferentes tabelas: Acesso, Dose prescrita, tempo e volume. Preciso, de acordo com essas informações, calcular dois valores chamados bolus e rate seguindo uma condicional. O problema é como vou retornar estes dois valores, se não tem atributo onde eu possa inseri-los? Eu deveria criar uma nova tabela pra eles? Existe como retornar estes atributos sem ter de mexer em nenhuma tabela? O código atual que tenho, é: select a.nr_atendimento ATENDIMENTO, obter_nome_pf_atend(a.nr_atendimento) NOME, obter_data_nascto_pac_atend(a.nr_atendimento) NASCIMENTO, 'DOSE: ' || decode(a.qt_dose,',5','2.500 UI','1','5.000 UI','1,5','7.500 UI','2','10.000 UI','2,5','12.500 UI','3','15.000 UI','3,5','17.500 UI', '4','20.000 UI','4,5','22.500 UI','5','25.000 UI','5,5','27.500 UI','6','30.000 UI') DOSE, 'VOLUME: ' || a.qt_volume || ' ml' VOLUME, obter_desc_material(a.cd_material) MEDICAMENTO, d.qt_hora_min_sessao TEMPO, e.nr_seq_tecnica ACESSO -- Inserir aqui condicionais para cálculo de BOLUS e RATE from CPOE_material a, atend_paciente_unidade b, hd_escala_dialise c, cpoe_dialise d, hd_acesso e where a.cd_material = 49749 and a.nr_atendimento = b.nr_atendimento and d.nr_atendimento = b.nr_atendimento and obter_cd_pes_fis_atend(b.nr_atendimento) = c.cd_pessoa_fisica and b.dt_saida_unidade is null and a.dt_liberacao is not null and a.dt_suspensao is null and d.dt_liberacao is not null and d.dt_suspensao is null and c.dt_fim is null and e.cd_pessoa_fisica = obter_pessoa_atendimento(b.nr_atendimento,'C') and e.ie_adequado = 'S' and e.dt_perda_retirada is null and c.nr_seq_turno = :turno and c.nr_seq_escala = :escala E as condicionais que quero inserir é mais ou menos assim: SE acesso arteriovenoso então: se dose_prescrita = 2500 então bolus = volume e rate = '-' se dose_prescrita = 5000 então: se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 6,0 e rate = 1,6 se tempo = 3:30h ou 3:35 então Bolus = 6,0 e rate = 1,3 se tempo = 4:00 ou 4:05h então bolus = 6,0 e rate = 1,1 se dose_prescrita = 7500 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 8,0 e rate = 2,8 se tempo = 3:30h ou 3:35 então Bolus = 8,0 e rate = 2,3 se tempo = 4:00 ou 4:05h então bolus = 8,0 e rate = 2,0 se dose_prescrita = 10000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 10,0 e rate = 4,0 se tempo = 3:30h ou 3:35 então Bolus = 10,0 e rate = 3,3 se tempo = 4:00 ou 4:05h então bolus = 10,0 e rate = 2,9 se dose_prescrita = 12500 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 11,0 e rate = 5,6 se tempo = 3:30h ou 3:35 então Bolus = 11,0 e rate = 4,7 se tempo = 4:00 ou 4:05h então bolus = 11,0 e rate = 4,0 se dose_prescrita = 15000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 13,0 e rate = 6,8 se tempo = 3:30h ou 3:35 então Bolus = 13,0 e rate = 5,7 se tempo = 4:00 ou 4:05h então bolus = 13,0 e rate = 4,9 se dose_prescrita = 30000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 23,0 e rate = 14,8 se tempo = 3:30h ou 3:35 então Bolus = 23,0 e rate = 12,3 se tempo = 4:00 ou 4:05h então bolus = 23,0 e rate = 10,6 se não então null SE acesso cateter então: se dose_prescrita = 2500 então bolus = volume e rate = '-' se dose_prescrita = 5000 então: se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 6,0 e rate = 1,3 se tempo = 3:30h ou 3:35 então Bolus = 6,0 e rate = 1,1 se tempo = 4:00 ou 4:05h então bolus = 6,0 e rate = 1,0 se dose_prescrita = 7500 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 8,0 e rate = 2,3 se tempo = 3:30h ou 3:35 então Bolus = 8,0 e rate = 2,0 se tempo = 4:00 ou 4:05h então bolus = 8,0 e rate = 1,8 se dose_prescrita = 10000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 10,0 e rate = 3,3 se tempo = 3:30h ou 3:35 então Bolus = 10,0 e rate = 2,9 se tempo = 4:00 ou 4:05h então bolus = 10,0 e rate = 2,5 se dose_prescrita = 12500 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 11,0 e rate = 4,7 se tempo = 3:30h ou 3:35 então Bolus = 11,0 e rate = 4,0 se tempo = 4:00 ou 4:05h então bolus = 11,0 e rate = 3,5 se dose_prescrita = 15000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 13,0 e rate = 5,7 se tempo = 3:30h ou 3:35 então Bolus = 13,0 e rate = 4,9 se tempo = 4:00 ou 4:05h então bolus = 13,0 e rate = 4,3 se dose_prescrita = 30000 então se tempo = 2:00h, 2:05h, 2:30h ou 2:35h então Bolus = volume e rate = '-' se tempo = 3:00h ou 3:05 então Bolus = 23,0 e rate = 12,3 se tempo = 3:30h ou 3:35 então Bolus = 23,0 e rate = 10,6 se tempo = 4:00 ou 4:05h então bolus = 23,0 e rate = 9,3 Atenciosamente, Igor
  23. Estou com dificuldade na criação de uma procedure que receba três valores numéricos e insira um registro na tabela abaixo: TB_MAIORES NUMERO1 Primeiro valor NUMERO2 Segundo valor NUMERO3 Terceiro valor MAIOR Maior valor entre (NUMERO1, NUMERO2 e NUMERO3)
  24. Olá pessoal, estou aprendendo agora relacionamentos de tabelas porém tô muito em dúvida, tenho uma pergunta: 2)Contar quantos alunos existem em cada curso, mostrando o nome do curso e o total de alunos. Estou usando sqldeveloper da oracle! Como eu faço isso? Vou precisar alguma subquery que faça a contagem antes? Pq eu tentei de várias formas usando JOIN, USING mas acho que estou fazendo algo errado, helllpppp! ####################### Aqui tem a estrutura da tabela pronta caso ajude. ####################### Curso Id_Curso – Numérico(6) – Campo Chave Nm_Curso - Varchar2(50) – Obrigatório Ds_Departamento–Varchar2(50) – Obrigatório Aluno Id_RGM – Numérico(6) – Campo Chave Nm_Aluno – Varchar2(50) – Obrigatório Ds_Endereco – Varchar2(50) – Obrigatório Ds_Bairro – Varchar2(50) – Obrigatório Ds_Cidade – Varchar2(50) – Obrigatório ID_CEP – Varchar2(8) – Obrigatório DS_Senha – Varchar2(15) – Obrigatório Id_Curso – Numérico(6) – Obrigatório Empréstimo Id_Emprestimo – Numérico(6) – Campo Chave Nm_Bibliotecario – Varchar2(50) – Obrigatório Dt_Emprestimo – Data – Obrigatório Dt_Devolucao – Data – Obrigatório Dt_Previsao – Data – Obrigatório Id_RGM – Numérico(6) – Obrigatório Itens de Empréstimo Id_Emprestimo – Numérico(6) – Campo Chave Id_Exemplar – Numérico(6) – Campo Chave Id_Livro – Numérico(6) – Campo Chave Ds_observacao – Varchar2(50) Exemplar Id_Exemplar – Numérico(6) – Campo Chave Id_Livro – Numérico(6) – Campo Chave Fl_Situacao – Varchar2(1) Aceitando somente S ou N Livro Id_livro – Numérico(6) – Campo Chave Nm_Livro – Varchar2(50) – Obrigatório Nm_Editora – Varchar2(50) – Obrigatório Nm_Autor – Varchar2(50) – Obrigatório Ds_Volume – Varchar2(50) – Obrigatório Vl_Valor – Numérico(12,2) – Obrigatório OBS.: Elaborar os relacionamentos e regras de constraint.
  25. Matheus_Moura

    Conexão banco de dados com PHP e ORACLE

    Boa tarde. Estou fazendo uma aplicação PHP em um PC Linux com Lubuntu como SO, para conexão com um banco de dados ORACLE 11g. Porém quando utilizo a função oci_connect ou qualquer outra função para oracle é retornado uma mensagem informando que estão indefenidas. Estou utilizando o XAMPP como servidor e fiz a configuração no caminho opt/lampp/etc/php.ini retirando o ; tanto no php_oci8.dll como também na php_oracle.dll, porém não obtive sucesso. Coloquei dentro da pasta opt também o instantclient já descompactado e utilizei o PECL para tentar ativar as OCI, porém mesmo assim ainda não consegui sucesso. Alguém teria alguma outra sugestão ? Att, Matheus Moura
×

Important Information

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