summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mssql/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/dialects/mssql/base.py')
-rw-r--r--lib/sqlalchemy/dialects/mssql/base.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py
index 95ccd2ca8..8c8260f3b 100644
--- a/lib/sqlalchemy/dialects/mssql/base.py
+++ b/lib/sqlalchemy/dialects/mssql/base.py
@@ -2888,6 +2888,8 @@ class MSDialect(default.DefaultDialect):
def has_table(self, connection, tablename, dbname, owner, schema):
self._ensure_has_table_connection(connection)
if tablename.startswith("#"): # temporary table
+ # mssql does not support temporary views
+ # SQL Error [4103] [S0001]: "#v": Temporary views are not allowed
tables = ischema.mssql_temp_table_columns
s = sql.select(tables.c.table_name).where(
@@ -2915,7 +2917,10 @@ class MSDialect(default.DefaultDialect):
s = sql.select(tables.c.table_name).where(
sql.and_(
- tables.c.table_type == "BASE TABLE",
+ sql.or_(
+ tables.c.table_type == "BASE TABLE",
+ tables.c.table_type == "VIEW",
+ ),
tables.c.table_name == tablename,
)
)