diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index 665feda9e..a12da7e01 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -598,6 +598,10 @@ namespace SqlSugar this.Context.Ado.ExecuteCommand(sql); return true; } + public virtual bool IsAnyProcedure(string procName) { + string sql = string.Format(this.IsAnyProcedureSql, procName); + return this.Context.Ado.GetInt(sql)>0; + } #endregion #region Private diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs index c0e2eb7d9..117c8275e 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/DbMaintenanceProvider/Properties.cs @@ -55,6 +55,7 @@ namespace SqlSugar protected abstract string DeleteTableRemarkSql { get; } protected abstract string IsAnyTableRemarkSql { get; } protected abstract string RenameTableSql { get; } + protected abstract string IsAnyProcedureSql { get; } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs index 299339276..a39de2c10 100644 --- a/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Interface/IDbMaintenance.cs @@ -25,6 +25,7 @@ namespace SqlSugar bool IsIdentity(string tableName, string column); bool IsAnyConstraint(string ConstraintName); bool IsAnySystemTablePermissions(); + bool IsAnyProcedure(string procName); #endregion #region DDL diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs index 52bb7fd7f..ee620d8d9 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Dm/DbMaintenance/DmDbMaintenance.cs @@ -218,6 +218,7 @@ namespace SqlSugar return "alter table {0} rename to {1}"; } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs index a22947697..390e7203b 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Kdbndp/DbMaintenance/KdbndpDbMaintenance.cs @@ -195,7 +195,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('Index_UnitCodeTest1_Id_CreateDate') as c ) t where t.c is not null"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs index 4a629e3e6..04bce68f0 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/MySql/DbMaintenance/MySqlDbMaintenance.cs @@ -153,6 +153,13 @@ namespace SqlSugar return "alter table {0} change column {1} {2}"; } } + protected override string IsAnyProcedureSql + { + get + { + return "select count(*) from information_schema.Routines where ROUTINE_NAME='{0}' and ROUTINE_TYPE='PROCEDURE'"; + } + } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs index 1ee48905c..d0557b6a4 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs @@ -221,6 +221,13 @@ namespace SqlSugar return "alter table {0} rename to {1}"; } } + protected override string IsAnyProcedureSql + { + get + { + return "SELECT COUNT(*) FROM user_objects WHERE OBJECT_TYPE = 'PROCEDURE' AND OBJECT_NAME ='{0}'"; + } + } #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs index 596c70df2..1efe1c04d 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oscar/DbMaintenance/OscarDbMaintenance.cs @@ -194,6 +194,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('{0}') as c ) t where t.c is not null"; } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs index 7dba04549..0dc2c06fc 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/PostgreSQL/DbMaintenance/PostgreSQLDbMaintenance.cs @@ -204,7 +204,7 @@ namespace SqlSugar return " SELECT count(1) WHERE upper('{0}') IN ( SELECT upper(indexname) FROM pg_indexes )"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs index 988aeb987..e1ad78e58 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/QuestDB/DbMaintenance/QuestDBDbMaintenance.cs @@ -170,7 +170,7 @@ namespace SqlSugar return " Select count(1) from (SELECT to_regclass('{0}') as c ) t where t.c is not null"; } } - + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs index e6fce8604..a1f58cfbc 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs @@ -269,6 +269,13 @@ namespace SqlSugar return "select count(*) from sys.indexes where name='{0}'"; } } + protected override string IsAnyProcedureSql + { + get + { + return "select count(*) from sys.objects where [object_id] = OBJECT_ID(N'sp_GetSubLedgerJoinWithdrawalApplicationRecords') and [type] in (N'P')"; + } + } #endregion #region Check @@ -563,7 +570,7 @@ namespace SqlSugar string sql = string.Format(this.RenameColumnSql, tableName, oldColumnName, newColumnName); this.Context.Ado.ExecuteCommand(sql); return true; - } + } #endregion } } diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs index f39f63cbe..5ae2d6ab3 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Sqlite/DbMaintenance/SqliteDbMaintenance.cs @@ -136,6 +136,7 @@ namespace SqlSugar throw new NotSupportedException(); } } + protected override string IsAnyProcedureSql => throw new NotImplementedException(); #endregion #region Check