Problema com primary key + jstl sql

3 respostas
B

Boa tarde galera,

Tenho 1 tabela mercadoria,
e uma tabela itemestoque,

a tabela itemestoque tem um fk.
Eu consigo inserir normalmentte na tabela mercadoria,

Eis o problema, a minha intenção era ao inserir os dados na tabela mercadoria, o mer_codigo fosse inserido na itemestoque.mer_codigo.
Só que a Mercadoria.mer_codigo o postgre gera sozinho. Como eu vou inserir o codigo na itemestoque.mer_codigo se eu não sei qual o mercadoria.mer_codigo ??

<sql:update dataSource=“jdbc/estagio”>

INSERT INTO mercadoria (mer_nome,mer_marca,mer_custo,mer_venda,mer_categoria,mer_status)
        VALUES ('<%=nome%>','<%=marca%>','<%=precocusto%>','<%=precovenda%>','<%=categoria%>','sim');
        
        INSERT INTO itemcompra(mer_codigo,ie_qtdedisp)
        [color=red]VALUES(??????????,0);[/color]

</sql:update>

Abaixo o create da table itemestoque para vcs entenderem melhor meu problema.

CREATE TABLE itemestoque

(  mer_codigo int4 NOT NULL,

ie_qtdedisp int4,

CONSTRAINT itemestoque_pkey PRIMARY KEY (mer_codigo),

CONSTRAINT itemestoque_mer_codigo_fkey FOREIGN KEY (mer_codigo)

REFERENCES mercadoria (mer_codigo)) ;

Espero ter sido suficientemente claro.
Grato

3 Respostas

castiel

select max(mer_codigo) mercadoria;
até achar outra solução melhor pode usar esse select logo após vc ter cadastrado a mercadoria, ele pega o código da ultima mercadoria salva.

B

Vlw castiel,

A unica solucao que funcionou ateh agora,

Soh corrigindo pra quem tiver o mesmo problema.

A solucao fica

select max(mer_codigo) from mercadoria;

Mas se alguem tiver uma funcao ainda to aberto a opinioes

F

Acho que você pode criar um trigger after insert… acho que ele consegue pegar o codigo que vc quer

Criado 27 de outubro de 2009
Ultima resposta 28 de out. de 2009
Respostas 3
Participantes 3