Fórum Update - Urgente!!! #393032

26/12/2010

0

Olá Pessoal,

Possuo as seguintes tabelas em meu banco de dados Firebird
1.GLCADNBM
CADNBMCOD
CADNCMCOD

2.PECADPEC
CADPECCOD
CADPECCODNBM

3.PENCMPEC
CADPECCOD
CADNCMCOD

Preciso atualizar o campo CADPPECCODNBM da Tabela PECADPEC através da GLCADNBM. Tenho que verificar se o código da peca na tabela PECADPEC através do campo CADPECCOD é o mesmo que está na tabela PENCMPEC. Se for, pegar o seu código CADNCMCOD na PENCMPEC e verificar se esta cadastrado na GLCADNBM. Se o código CANCMCOD da PENCMPEC for iqual ao CADNCMCOD na GLCADNBM eu tenho então que pegar o valor do campo CANBMCOD da GLCADNBM e atualizar na PECCADPEC no campo CADPECCODNBM.

Como posso fazer isso?

Grato

Damata
Carlos Mata

Carlos Mata

Responder

Posts

27/12/2010

Emerson Nascimento

update PECADPEC set
  CADPECCODNBM =
   coalesce((select G.CADNBMCOD from GLCADNBM G
    inner join PENCMPEC P on P.CADNCMCOD = G.CADNCMCOD
    where P.CADPECCOD = PECADPEC.CADPECCOD), PECADPEC.CADPECCODNBM)

acho que assim funciona...
Responder

Gostei + 0

28/12/2010

Carlos Mata

update PECADPEC set
  CADPECCODNBM =
   coalesce((select G.CADNBMCOD from GLCADNBM G
    inner join PENCMPEC P on P.CADNCMCOD = G.CADNCMCOD
    where P.CADPECCOD = PECADPEC.CADPECCOD), PECADPEC.CADPECCODNBM)

acho que assim funciona...


Amigo,

Ao excutar o comando está apresentando o erro:

Statement Failed, SQLCODE = -811

Multiple Rows in Singleton select.


Responder

Gostei + 0

29/12/2010

Ricardo Araujo

pode colocar a estrutura da tabelas?    
Responder

Gostei + 0

31/12/2010

Carlos Mata

pode colocar a estrutura da tabelas?    


Ricardo,

Segue a estrutura das tabelas:

PECADPEC
--------------

#    FK    PK    Field Name                  Field Type     Size  

1     0    1    CADPECCOD                   CHAR            22                        
2     0    0    CADPECDES                    CHAR            20                           
3     0    0    CADPECCODSEQ             CHAR            22                          
4     0    0    CADPECCODCLA              CHAR           22                           
5     0    0    MASPECCOD                    CHAR           1                           
6     0    0    FORNECNRO                    INTEGER                                           
7     0    0    MARPECCOD                    SMALLINT                                           
8     0    0    CADPECCODNBM             CHAR           10                          
9     0    0    UNIMEDCOD                    CHAR           2                           
10   0    0    CADPECQTDEMB              INTEGER                                           
11   0    0    CADPECIDTEMBAL           CHAR           1                           
12   0    0    GRDEPECOD                    CHAR           2                           
13   0    0    CADPECIDTDESCONTO    CHAR           1                           
14   0    0    NATPECCOD                    CHAR           3                           
15   0    0    CADPECPERIPI                NUMERIC     4    2                               
16   0    0    CADPECVLRPESO            NUMERIC     7    3                               
17   0    0    CADPECIDTPROC            CHAR           1                           
18   0    0    CADPECIDTRESERVA       CHAR           1                          
19   0    0    CADPECIDTRESTEC         CHAR           1                          
20   0    0    CADPECIDTSTATUS         CHAR           1                           
21   0    0    CADPECDATATUCAD       INTEGER                                           

PENCMPEC
--------------

#    FK    PK    Field Name             Field Type   Size

1    0       1     CADPECCOD           CHAR          22                           
2    0       0     CADNCMCOD          CHAR          10                           
3    0       0     NCMPECCODBAR    CHAR          25              

GLCADNBM
--------------

#    FK    PK    Field Name     Field Type        Size

1    0     1      CADNBMCOD    CHAR              10                          
2    0     0      CADNBMDES     VARCHAR        255                        
3    0     0      CADNCMCOD    CHAR              10                           
         

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar