Method: Sequel::ADO::Access::DatabaseMethods#execute_insert

Defined in:
lib/sequel/adapters/ado/access.rb

#execute_insert(sql, opts = OPTS) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/sequel/adapters/ado/access.rb', line 108

def execute_insert(sql, opts=OPTS)
  synchronize(opts[:server]) do |conn|
    begin
      log_connection_yield(sql, conn){conn.Execute(sql)}
      last_insert_sql = "SELECT @@IDENTITY"
      res = log_connection_yield(last_insert_sql, conn){conn.Execute(last_insert_sql)}
      res.GetRows.transpose.each{|r| return r.shift}
    rescue ::WIN32OLERuntimeError => e
      raise_error(e)
    end
  end
  nil
end