def insert(record)
      # if Array of records is passed then insert each individually
      if record.is_a?(Array)
        record.each { |r| insert(r) }
        return nil
      end

      table_proc = TableProcedure.new(@schema, self, :insert)
      table_proc.add_insert_arguments(record)

      call = ProcedureCall.new(table_proc, table_proc.argument_values)
      call.exec
    end
def insert(record)
      # if Array of records is passed then insert each individually
      if record.is_a?(Array)
        record.each { |r| insert(r) }
        return nil
      end

      table_proc = TableProcedure.new(@schema, self, :insert)
      table_proc.add_insert_arguments(record)

      call = ProcedureCall.new(table_proc, table_proc.argument_values)
      call.exec
    end
Insert record or records in table. Examples:

   employee = { :employee_id => 1, :first_name => 'First', :last_name => 'Last', :hire_date => Time.local(2000,01,31) }
   plsql.employees.insert employee
   # => INSERT INTO employees VALUES (1, 'First', 'Last', ...)

   employees = [employee1, employee2, ... ]  # array of many Hashes
   plsql.employees.insert employees