Java DB如何为表列插入外键值



我使用java DB数据库和NetBeans 8.0作为桌面应用程序
我还使用PreparedStatement来查询数据库。

下面的

是创建表的代码。

CREATE TABLE ALUMNUS (
   ALUMNUA_ID INT NOT NULL PRIMARY KEY 
       GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), 
   FIRST_NAME VARCHAR (45),
   LAST_NAME VARCHAR (45),
   OTHER_NAME VARCHAR (100)
);
CREATE TABLE DUES (
   ID INT NOT NULL PRIMARY KEY 
       GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
   PAYMENT_YEAR DATE,
   AMOUNT DOUBLE,
   ALUMNUS_ID INT 
);
--FOREIGN KEY
ALTER TABLE APP.DUES 
   ADD FOREIGN KEY (ALUMNUS_ID) REFERENCES APP.ALUMNUS(ID);

现在我想在app .会费表中插入、删除和更新外键值。什么是最好的选择;触发器、存储过程还是preparedstatement?

如果希望主要插入到会费表中,则可以在SQL中使用子选择。我没有用Java DB测试它,但它基本上看起来像:

INSERT INTO DUES(PAYMENT_YEAR, AMOUNT,ALUMNUS_ID)
          VALUES(2014,         100.0,
                                 (SELECT ALUMNUA_ID from  ALUMNUS where ...));

您需要捕获"not found"错误情况并添加INSERT(并且还需要捕获重复的情况)。

参见:将数据插入外键链接的表

相关内容

  • 没有找到相关文章

最新更新