'DETALLES'テーブルから行を削除できるトリガーを作成したいと思います。 「テーブルから行を削除して2つのテーブルを更新するトリガーを作成するには
そして、この第二のテーブルと呼ばれることをした後、例えば、私は、このテーブルから行を削除する:それはこのようなものだ「BOLETAS」と呼ばれる別のテーブルや別のいわゆる「ARTICULOS」、最初のテーブルを変更しますARTICULOS ":
!
:
があるため、「BOLETAS」と呼ばれるテーブル「DETALLES」列「CANTIDAD」、そして最後にテーブルから削除された行の回収された量で、彼の「STOCK」を更新する必要がありますテーブル「DETALLES」列「IMPORTE」から削除された量より少ない「TOTAL」列を更新しなければならない。
基本的に、「DETALLES」テーブルから行を削除し、別の2つのテーブルを更新できるトリガーが必要です。
たとえば、「DETALLES」から2番目の行を削除することにしたので、「CANTIDAD」列と「BOLETAS」表のため、「ART002」の「ARTICUS」列「STOCK」はプラス1でなければなりません「60」以下であること。 私の悪い英語のため申し訳ありませんが、私は時間のためにそれを試みたが、私はできません:( ものは、私はテーブルを作成するために使用されるコードです。
CREATE TABLE ARTICULOS(
CODART VARCHAR(6) PRIMARY KEY,
NOMART VARCHAR(50),
STOCK INT,
PRECIO NUMERIC(8,2))
CREATE TABLE INGRESOS(
CODART VARCHAR(6) ,
FECHA DATE,
CANTIDAD INT,
PRECIO NUMERIC(8,2),
CONSTRAINT FK1 FOREIGN KEY (CODART) REFERENCES ARTICULOS
)
CREATE TABLE
CLIENTES(
CODCLI VARCHAR(6) PRIMARY KEY,
NOMCLI VARCHAR(50),
RUCCLI INT,
DIRECCION VARCHAR(50)
DEFAULT 'DESCONOCIDA'
)
CREATE TABLE BOLETAS(
NROBOL VARCHAR(10) PRIMARY KEY NONCLUSTERED,
CODCLI VARCHAR(6),
FECHA DATE,
TOTAL NUMERIC(8,2),
CONSTRAINT
FK2 FOREIGN KEY (CODCLI) REFERENCES CLIENTES
)
CREATE TABLE DETALLES(
NROBOL VARCHAR(10) ,
CODART VARCHAR(6),
CANTIDAD INT,
IMPORTE NUMERIC(8,2),
PRIMARY KEY NONCLUSTERED (NROBOL,CODART),
CONSTRAINT FK3 FOREIGN
KEY (NROBOL) REFERENCES
BOLETAS,
CONSTRAINT FK4 FOREIGN KEY (CODART) REFERENCES ARTICULOS)
トリガと手続き型のコードです**性の高いベンダー固有** - そう 'postgresql'、' SQL-server'、 'oracle'か、あなたは' mysql'を使用しているかどうかを指定するためにタグを追加してください'db2' - あるいは全く別のもの。 –