Skip to content

Commit 2be8d57

Browse files
committed
add create_view() method
1 parent 9667cae commit 2be8d57

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

simple_query_builder/querybuilder.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,22 @@ def union_select(self, table: Union[str, dict], union_all: bool = False):
659659
def __str__(self):
660660
return self.get_sql(False)
661661

662+
def create_view(self, view_name: str, add_exists: bool = True):
663+
# this method will be moved to another class
664+
if not view_name:
665+
self.set_error(f"Empty view_name in {inspect.stack()[0][3]} method")
666+
return self
667+
668+
exists = "IF NOT EXISTS " if add_exists else ""
669+
670+
# self.reset()
671+
if 'select' not in self._sql.lower():
672+
self.set_error(f"No select found in {inspect.stack()[0][3]} method")
673+
return self
674+
self._sql = f"CREATE VIEW {exists}`{view_name}` AS " + self._sql
675+
676+
return self
677+
662678
def drop_view(self, view_name: str, add_exists: bool = True):
663679
# this method will be moved to another class
664680
if not view_name:

0 commit comments

Comments
 (0)