skastor Posted July 5, 2011 Report Share Posted July 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 ? Quote Link to comment Share on other sites More sharing options...
0 skastor Posted July 5, 2011 Author Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.