Module | Sequel::ODBC::MSSQL::DatabaseMethods |
In: |
lib/sequel/adapters/odbc/mssql.rb
|
# File lib/sequel/adapters/odbc/mssql.rb, line 19 19: def execute_insert(sql, opts=OPTS) 20: synchronize(opts[:server]) do |conn| 21: begin 22: log_connection_yield(sql, conn){conn.do(sql)} 23: begin 24: last_insert_id_sql = 'SELECT SCOPE_IDENTITY()' 25: s = log_connection_yield(last_insert_id_sql, conn){conn.run(last_insert_id_sql)} 26: if (rows = s.fetch_all) and (row = rows.first) and (v = row.first) 27: Integer(v) 28: end 29: ensure 30: s.drop if s 31: end 32: rescue ::ODBC::Error => e 33: raise_error(e) 34: end 35: end 36: end