I habe just created a query as the below one:
/* Drop all non-system stored procs */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])
WHILE @name is not null
BEGIN
SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Procedure: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all views */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped View: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all functions */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Function: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
/* Drop all Foreign Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
WHILE @name is not null
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint IS NOT NULL
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'
EXEC (@SQL)
PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)
END
GO
/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
WHILE @name IS NOT NULL
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint is not null
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
EXEC (@SQL)
PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO
/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Table: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO
as this query works fine when execute in the sql
but When I tired to execute using python I got an error.
So Now I need to run this query using python as the below code:
from database import connec
import pandas as pd
def delete_all_tables_from_db():
delete_all_tables_query = "/* Drop all non-system stored procs */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name]) " \
+ "WHILE @name is not null " \
+ "BEGIN " \
+ "SELECT @SQL = 'DROP PROCEDURE [dbo].[N' + QUOTENAME(@name) +N']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped Procedure: ' + @name " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name]) " \
+ "END " \
+ "GO " \
+ "/* Drop all views */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name]) " \
+ "WHILE @name IS NOT NULL " \
+ "BEGIN " \
+ "SELECT @SQL = 'DROP VIEW [dbo].[N' + QUOTENAME(@name) +N']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped View: ' + @name " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name]) " \
+ "END " \
+ "GO " \
+ "/* Drop all functions */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name]) " \
+ "WHILE @name IS NOT NULL " \
+ "BEGIN " \
+ "SELECT @SQL = 'DROP FUNCTION [dbo].[N' + QUOTENAME(@name) +N']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped Function: ' + @name " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name]) " \
+ "END " \
+ "GO " \
+ "/* Drop all Foreign Key constraints */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @constraint VARCHAR(254) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME) " \
+ "WHILE @name is not null " \
+ "BEGIN " \
+ "SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) " \
+ "WHILE @constraint IS NOT NULL " \
+ "BEGIN " \
+ "SELECT @SQL = 'ALTER TABLE [dbo].[' + QUOTENAME(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name " \
+ "SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) " \
+ "END " \
+ "SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME) " \
+ "END " \
+ "GO " \
+ "/* Drop all Primary Key constraints */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @constraint VARCHAR(254) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME) " \
+ "WHILE @name IS NOT NULL " \
+ "BEGIN " \
+ "SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) " \
+ "WHILE @constraint is not null " \
+ "BEGIN " \
+ "SELECT @SQL = 'ALTER TABLE [dbo].[' + QUOTENAME(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name " \
+ "SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) " \
+ "END " \
+ "SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME) " \
+ "END " \
+ "GO " \
+ "/* Drop all tables */ " \
+ "DECLARE @name VARCHAR(128) " \
+ "DECLARE @SQL VARCHAR(254) " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name]) " \
+ "WHILE @name IS NOT NULL " \
+ "BEGIN " \
+ "SELECT @SQL = 'DROP TABLE [dbo].[N' + QUOTENAME(@name) +N']' " \
+ "EXEC (@SQL) " \
+ "PRINT 'Dropped Table: ' + @name " \
+ "SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name]) " \
+ "END " \
+ "GO"
delete_all_tables_df = pd.read_sql(delete_all_tables_query, connec.engine)
connec.engine.execute(delete_all_tables_df)
delete_all_tables_from_db()
and this error I found:
Traceback (most recent call last):
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1245, in _execute_context
self.dialect.do_execute(
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\default.py", line 588, in do_execute
cursor.execute(statement, parameters)
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102) (SQLExecDirectW); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@constraint' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102)")
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:/Users/haroo501/PycharmProjects/ToolUpdated/database/delete_all_tables_from_db.py", line 93, in <module>
delete_all_tables_from_db()
File "C:/Users/haroo501/PycharmProjects/ToolUpdated/database/delete_all_tables_from_db.py", line 90, in delete_all_tables_from_db
delete_all_tables_df = pd.read_sql(delete_all_tables_query, connec.engine)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\sql.py", line 432, in read_sql
return pandas_sql.read_query(
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\sql.py", line 1218, in read_query
result = self.execute(*args)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\sql.py", line 1087, in execute
return self.connectable.execute(*args, **kwargs)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 2182, in execute
return connection.execute(statement, *multiparams, **params)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 976, in execute
return self._execute_text(object_, multiparams, params)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1143, in _execute_text
ret = self._execute_context(
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1249, in _execute_context
self._handle_dbapi_exception(
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1476, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\util\compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\base.py", line 1245, in _execute_context
self.dialect.do_execute(
File "C:\Users\haroo501\AppData\Local\Programs\Python\Python38\lib\site-packages\sqlalchemy\engine\default.py", line 588, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102) (SQLExecDirectW); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@constraint' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]The variable name '@SQL' has already been declared. Variable names must be unique within a query batch or stored procedure. (134); [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near 'GO'. (102)")
[SQL: /* Drop all non-system stored procs */ DECLARE @name VARCHAR(128) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name]) WHILE @name is not null BEGIN SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']' EXEC (@SQL) PRINT 'Dropped Procedure: ' + @name SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name]) END GO /* Drop all views */ DECLARE @name VARCHAR(128) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name]) WHILE @name IS NOT NULL BEGIN SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']' EXEC (@SQL) PRINT 'Dropped View: ' + @name SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name]) END GO /* Drop all functions */ DECLARE @name VARCHAR(128) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name]) WHILE @name IS NOT NULL BEGIN SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']' EXEC (@SQL) PRINT 'Dropped Function: ' + @name SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name]) END GO /* Drop all Foreign Key constraints */ DECLARE @name VARCHAR(128) DECLARE @constraint VARCHAR(254) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME) WHILE @name is not null BEGIN SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) WHILE @constraint IS NOT NULL BEGIN SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']' EXEC (@SQL) PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) END SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME) END GO /* Drop all Primary Key constraints */ DECLARE @name VARCHAR(128) DECLARE @constraint VARCHAR(254) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME) WHILE @name IS NOT NULL BEGIN SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) WHILE @constraint is not null BEGIN SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']' EXEC (@SQL) PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME) END SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME) END GO /* Drop all tables */ DECLARE @name VARCHAR(128) DECLARE @SQL VARCHAR(254) SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name]) WHILE @name IS NOT NULL BEGIN SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']' EXEC (@SQL) PRINT 'Dropped Table: ' + @name SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name]) END GO]
(Background on this error at: http://sqlalche.me/e/f405)
So How to use long query as to execute it with python