SQL server插入时返回自增id
程序员文章站
2022-06-05 09:22:12
...
SQL2005获得新增行的自动增长列的语句如下:
insert into TestTable (CreatedDate) output inserted.id values (getdate())
output 是sql server2005的新特性,可以从数据修改语句中返回输出,可以看作是“返回结果的DML”
2005之后 Insert,Delete,Update语句 均支持Output语句。
/// <summary>
/// 2012-2-21新增重载,执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="connection">SqlConnection对象</param>
/// <param name="trans">SqlTransaction事务</param>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(SqlConnection connection, SqlTransaction trans, string SQLString, params SqlParameter[] cmdParms)
{
using (SqlCommand cmd = new SqlCommand())
{
try
{
PrepareCommand(cmd, connection, trans, SQLString, cmdParms);
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
trans.Rollback();
throw e;
}
}
}
返回的Obj就是ID了
上一篇: Oracle 中 decode 函数用法
下一篇: PHP查询字符串技巧分享