skastor Postado Julho 5, 2011 Denunciar Share Postado Julho 5, 2011 -- SQLite --Minha tabela é a seguinte:DROP TABLE IF EXISTS ESTOJO ;CREATE TABLE ESTOJO ( Enome TEXT(3) , Etamanho INTEGER NOT NULL , Eqtde_livre INTEGER , PRIMARY KEY (Enome) );Eu gostaria fazer inserçoes assim :INSERT INTO ESTOJO ( Enome , Etamanho ) VALUES ('ES1' , 3 ) ;mudando apenas os valores.Eu quero que quando se inserir um ESTOJO A, automaticamente seu campo Eqtde_livre = Etamanho.Sei que posso fazer isso com a linguagem de programacao da interface, mas gostaria de encapsular no BD. Tentei fazer com um TRIGGER :/********************* TRIGGER3** ao se inserir um estojo, Eqtde_livre <- Etamanho*****/DROP TRIGGER IF EXISTS TRIGGER3 ;CREATE TRIGGER TRIGGER3 AFTER INSERT ON ESTOJOBEGIN new.Eqtde_livre = new.Etamanho ;END ;Mas dá erro : " sqlite error 1 - near 'new': syntax error "Alguém sabe como fazer isso em SQL ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 skastor Postado Julho 5, 2011 Autor Denunciar Share Postado Julho 5, 2011 Tentei outro triggerdepois de dar uma pesquisada :DROP TRIGGER IF EXISTS TRIGGER3 ;CREATE TRIGGER TRIGGER3 AFTER INSERT ON ESTOJOfor each row when ( new.Etamanho <> 0 ) update ESTOJO SET Eqtde_livre = Etamanho where Enome = new.Enome ;Tambem não funciona, não sei porque Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
skastor
-- SQLite --
Minha tabela é a seguinte:
DROP TABLE IF EXISTS ESTOJO ;
CREATE TABLE ESTOJO (
Enome TEXT(3) ,
Etamanho INTEGER NOT NULL ,
Eqtde_livre INTEGER ,
PRIMARY KEY (Enome)
);
Eu gostaria fazer inserçoes assim :
INSERT INTO ESTOJO ( Enome , Etamanho ) VALUES ('ES1' , 3 ) ;
mudando apenas os valores.
Eu quero que quando se inserir um ESTOJO A, automaticamente seu campo Eqtde_livre = Etamanho.
Sei que posso fazer isso com a linguagem de programacao da interface, mas gostaria de encapsular no BD. Tentei fazer com um TRIGGER :
/********************
* TRIGGER3
*
* ao se inserir um estojo, Eqtde_livre <- Etamanho
*****/
DROP TRIGGER IF EXISTS TRIGGER3 ;
CREATE TRIGGER TRIGGER3 AFTER INSERT ON ESTOJO
BEGIN
new.Eqtde_livre = new.Etamanho ;
END ;
Mas dá erro : " sqlite error 1 - near 'new': syntax error "
Alguém sabe como fazer isso em SQL ?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.