Jump to content
Thiago Benevides

Criação de banco com if else

Recommended Posts

create table teste1(
ide int not null primary key,
nome varchar(99) not null);

 

create table teste2(
ide2 int not null primary key,
nome_teste varchar(99) not null,
nome_teste1 int not null,
foreign key(nome_teste1) references teste1(ide));

 

create table teste3(
ide3 int not null primary key,
nome_testres varchar(99) not null,
nome_teste2 int not null,
foreign key(nome_teste2) references teste2(ide2));

 

if (create table teste1 == true)
  create table teste2;
if(create table teste2 == true)
  create table teste3;
  
 
select * from teste2

 

 

 

Acho q pela lógica do if else já deu pra entender a que ponto quero chegar kkkkkk. será que alguém pode me ajudar nisso. Como faço pra essa lógica funcionar.

Share this post


Link to post
Share on other sites

UM EXEMPLO

declare
     v_count number(1);
begin
     select count(1) into v_count from dba_tables where owner='Me' and table_name='BREND';
     if v_count=0 then
          EXECUTE IMMEDIATE 'create table BREND ( ID VARCHAR2(10) PRIMARY KEY NOT NULL, NAME VARCHAR2(100) NOT NULL)';
     end if;
end;

Fonte

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Viniciusr9
      Boa tarde pessoal,
      basicamente eu preciso do retorno de horas entre duas datas, porém tenho condições a tratar .
      basicamente tenho 2 colunas ( dt_fim e dt_ini ) que representam data final e data inicial. Preciso da diferença entre as duas retornada em uma outra coluna (hr_ausencias) , porém a cada dia posso computar no máximo 9 horas, e desconsiderar finais de semana e feriados( esses cadastrados em uma tabela) . Seria melhor tratar isso com uma Trigger , um Script PL/SQL , como me sugerem? Agradeço quem puder ajudar.
    • By edvaldo joviano de paula
      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.
       
    • By Viniciusr9
      Boa tarde pessoal,
      Sei que tem varios tópicos sobre esse erro, porém analisei todos e nenhum foi aplicável ao meu caso ( a maioria era porquê o pessoal esquecia do Group By ao final das Querys) . 
      Se alguém puder ajudar, agradeço . Os campos sem função estão inseridos no group by, porém o erro persiste .
       
       

       
      SELECT * FROM( select LPAD(C.MES_COMPETENCIA,2,'0') ||'/'||C.ANO_COMPETENCIA AS PROJETO, E.DS_EQUIPE as EQUIPE, SUM(NVL((CC.QT_HORAS_CHEIA - SUM(AU.DT_FIM - AU.DT_INI)*24 ),CC.QT_HORAS_CHEIA)) as "ESFORÇO CALCULADO" from EQUIPE E, COLABORADOR C1, COMPETENCIA C, COMPETENCIA_COLABORADOR CC, AUSENCIAS AU where E.CD_EQUIPE=CC.CD_EQUIPE and C.CD_COMPETENCIA=CC.CD_COMPETENCIA and C1.CD_COLABORADOR=CC.CD_COLABORADOR and C1.STATUS = 1 AND C1.CD_GESTOR <> C1.CD_COLABORADOR AND AU.CD_COLABORADOR (+) = C1.CD_COLABORADOR GROUP BY E.DS_EQUIPE, LPAD(C.MES_COMPETENCIA,2,'0') ||'/'||C.ANO_COMPETENCIA ) VT WHERE VT.PROJETO = ((select to_char(sysdate, 'MM') from dual)||'/'||(select to_char(sysdate, 'RRRR') from dual))  
    • By massaotoda
      estou tentando fazer a conexão ao banco de dados oracle 11g no delphi 10.2 pelo fireDAC e está reportando o seguinte erro ao conectar:
      [FireDAC][Phys][Ora] Ora-12546: TNS: permission denied.

      já mandei para o DBA para verificar e ainda não consegui o retorno, fiz o teste conectando em outro banco de dados por exemplo do firebird e conectou ok...

      Alguém saberia me disse qual seria esta permissão para resolver o problema???
    • By alextds
      olá gostaria de saber como fazer para obter o rank das 5 maiores vendas.
      tenho a seguinte tabela:
       
      data                 produto    valor
      31/01/2018    calça       100
      31/01/2018    calça        50
      31/01/2018    camisa    30
      31/01/2018    camisa    30
      31/01/2018    sapato     75
      31/01/2018    bermuda 100
      31/01/2018    meia         10
      31/01/2018    tenis         65
      31/01/2018    luva          20
      31/01/2018    luva          20
      31/01/2019    calça       100
      31/01/2019    calça        50
      31/01/2019    camisa    30
      31/01/2019    camisa    30
      31/01/2019    sapato    75
      31/01/2019    bermuda 100
      31/01/2019    meia         10
      31/01/2019    tenis         65
      31/01/2019    luva          20
      31/01/2019    luva          20  
       
      Preciso que totalize os valores de acordo a data e produto e que apareça somente os 5 primeiros dessa forma  :
       
      data                 produto       valor   rank
      31/01/2018    calça           150      1
      31/01/2018    bermuda    100       2
      31/01/2018    sapato        75         3
      31/01/2018    tenis            65        4
      31/01/2018    camisa        60        5
      31/01/2019    calça           150      1
      31/01/2019    bermuda     100      2
      31/01/2019    sapato         75        3
      31/01/2019    tenis             65       4
      31/01/2019    camisa         60       5
       
      Se alguém tiver uma solução facil agradeço.
       
       
×

Important Information

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