我有两个表,如下所示:
CREATE TABLE StudentMaster ( sId SERIAL, StudentName VARCHAR(50) ); CREATE TABLE StudentClassMap ( studnetId BIGINT UNSIGNED NOT NULL, studentClass VARCHAR(10), FOREIGN KEY (studnetId) REFERENCES StudentMaster (sId) );
这是我的插入查询。
INSERT INTO StudentMaster (studentName) values ('Jay Parikh'); INSERT INTO StudentClassMap (studnetId, studentClass) values ((SELECT sId from StudentMaster where studentName='Jay Parikh'), 'M.Sc. 1st Year');
我想为中的查询定义 ChangeSet liquibase 。
liquibase
对于第一个查询, ChangeSet 将为:
<changeSet author="unknown" id="insert-example"> <insert tableName="StudentMaster "> <column name="studentName" value="Jay Parikh"/> </insert> </changeSet>
但是我不知道如何为另一个查询定义 ChangeSet 。 有什么帮助吗?提前致谢。
使用valueComputed属性:
<changeSet author="unknown" id="insert-example-2"> <insert tableName="StudentClassMap"> <column name="studentId" valueComputed="(SELECT sId from StudentMaster where studentName='Jay Parikh')"/> <column name="studentClass" value="McSc. 1st Year"/> </insert> </changeSet>