Update estranho
Veja este update simples, por isso acho que não teria como não funcionar, mas não funcionou. O que falta? Acho que nada, uso FB. Abaixo a tabela e as constraints.
//Tabela
//Constraint
UPDATE
TB_SAC_TRANSF
SET
CD_ST_RECEB = 1
WHERE
CD_TRANSF = ´R´ AND
NU_LOJA_ORIG = 15 AND
NU_LOJA_DEST = 51 AND
NU_NF = 28748 AND
SR_NF = ´M1´ AND
DT_TRANSF = ´01/03/2008´
//Tabela
TB_SAC_TRANSF (
CD_TRANSF CHAR(2) CHARACTER SET NONE NOT NULL COLLATE NONE,
NU_LOJA_ORIG INTEGER NOT NULL,
NU_LOJA_DEST INTEGER NOT NULL,
NU_NF INTEGER NOT NULL,
SR_NF CHAR(2) CHARACTER SET NONE NOT NULL COLLATE NONE,
DT_TRANSF DATE NOT NULL,
VL_TRANSF NUMERIC(15, 2) NOT NULL,
CD_TP_TRANSP SMALLINT,
CD_ST_TRANSF SMALLINT,
CD_ST_RECEB SMALLINT NOT NULL,
QT_TRANSF INTEGER NOT NULL
//Constraint
ALTER TABLE TB_SAC_TRANSF ADD PRIMARY KEY (CD_TRANSF,DT_TRANSF,NU_LOJA_ORIG,NU_LOJA_DEST,NU_NF,SR_NF);
ALTER TABLE TB_SAC_TRANSF ADD FOREIGN KEY (CD_TP_TRANSP) REFERENCES TB_SAC_TP_TRANSPORTE(CD_TP_TRANSP);
ALTER TABLE TB_SAC_TRANSF ADD FOREIGN KEY (CD_ST_RECEB) REFERENCES TB_SAC_ST_RECEB(CD_ST_RECEB);
ALTER TABLE TB_SAC_TRANSF ADD FOREIGN KEY (CD_ST_TRANSF) REFERENCES TB_SAC_ST_TRANSF(CD_ST_TRANSF);
CREATE UNIQUE INDEX TRANSF_PK ON TB_SAC_TRANSF(CD_TRANSF,DT_TRANSF,NU_LOJA_ORIG,NU_LOJA_DEST,NU_NF,SR_NF);
Paulo
Curtidas 0
Respostas
Macario
02/04/2008
Olá.
Há ocorrência de erro? Qual?
8)
Há ocorrência de erro? Qual?
8)
GOSTEI 0
Joaoshi
02/04/2008
Colega DT_TRANSF = ´01/03/2008´ , esta data esta correta ? Lembrando que para o banco deve ser MM/DD/YYYY
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Paulo
02/04/2008
Não é data. Se eu travo mais de uma chave não funciona, mas se eu só travo a chave NU_NF, aí funciona. Não dá erro, msg, nada, apenas não atualiza o banco. Mesmo direto no banco, usando o Sql Manager, que eu uso aqui. Mas no Delphi não funciona também.
GOSTEI 0
Paulo
02/04/2008
joaoshi, voce tinha razão, era o formato de data sim. O formato para o Update é:(DD/MMM/YYYY). Com esse formato, eu consegui fazer funcionar. Valeu aí!!!!
GOSTEI 0