本文提供了在不同数据库系统(Oracle、Microsoft SQL Server 和 MySQL)中插入记录并返回自增列ID的方法。针对每种数据库的特点,展示了如何使用特定的SQL语句来实现这一功能。
返回自增列的值
<!—Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient --> <insert id="insertProduct-ORACLE" parameterClass="product"> <selectKey resultClass="int" type="pre" property="Id"> SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL </selectKey> insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#) </insert> <!— Microsoft SQL Server IDENTITY Column Example --> <insert id="insertProduct-MS-SQL" parameterClass="product"> insert into PRODUCT (PRD_DESCRIPTION) values (#description#) <selectKey resultClass="int" type="post" property="id"> select @@IDENTITY as value </selectKey> </insert> <!-- MySQL Example --> <insert id="insertProduct-MYSQL" parameterClass="product"> insert into PRODUCT (PRD_DESCRIPTION) values (#description#) <selectKey resultClass="int" type="post" property="id"> select LAST_INSERT_ID() as value </selectKey> </insert>