我需要在只有一个<insert>
的Oracle(用于生产(和HSQLDB(用于测试(中插入一个新行,但布尔值导致了问题——Oracle需要1
,HSQLDB需要true
。
以下是我现在的操作方法,但是否可以删除dbms
并为具有相同<insert>
的两个DB执行此操作
<insert dbms="oracle" tableName="MY_TABLE">
<column name="ID" valueComputed="MY_TABLE_ID_SEQ.NEXTVAL"/>
<column name="NAME" value="JOHN DOE"/>
<column name="VISIBLE" value="1"/>
</insert>
<insert dbms="hsqldb" tableName="MY_TABLE">
<column name="ID" valueComputed="MY_TABLE_ID_SEQ.NEXTVAL"/>
<column name="NAME" value="JOHN DOE"/>
<column name="VISIBLE" value="true"/>
</insert>
使用valueBoolean
。例如:
<insert dbms="hsqldb" tableName="MY_TABLE">
<column name="ID" valueComputed="MY_TABLE_ID_SEQ.NEXTVAL"/>
<column name="NAME" value="JOHN DOE"/>
<column name="VISIBLE" valueBoolean="true"/>
</insert>
这将让利基巴斯知道;真";string不是要传递的字符串,而是一个布尔值,应该转换为目标数据库用于布尔值的任何值。