diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 3cadb6617d..bd45f9bd3d 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -78,6 +78,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): supports_bitwise_or = False can_defer_constraint_checks = True ignores_nulls_in_unique_constraints = False + has_bulk_insert = True class DatabaseOperations(BaseDatabaseOperations): compiler_module = "django.db.backends.oracle.compiler" @@ -372,6 +373,10 @@ WHEN (new.%(col_name)s IS NULL) name_length = self.max_name_length() - 3 return '%s_TR' % util.truncate_name(table, name_length).upper() + def bulk_insert_sql(self, fields, num_values): + items_sql = "SELECT %s FROM DUAL" % ", ".join(["%s"] * len(fields)) + return " UNION ALL ".join([items_sql] * num_values) + class _UninitializedOperatorsDescriptor(object):