From eba700c322455adaf09f75afe3158431749cd52a Mon Sep 17 00:00:00 2001 From: shaohua Date: Thu, 8 Aug 2024 20:06:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20ORACLE=20=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E7=BA=A6=E6=9D=9F=E5=92=8C=E7=B4=A2=E5=BC=95=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Oracle/DbMaintenance/OracleDbMaintenance.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs index 2b9e68ead..0f12a7de7 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/DbMaintenance/OracleDbMaintenance.cs @@ -58,7 +58,7 @@ namespace SqlSugar { get { - return "select count(1) from user_ind_columns where upper(index_name)=upper('{0}')"; + return "SELECT NVL2((SELECT INDEX_NAME FROM ALL_INDEXES WHERE INDEX_NAME=UPPER('{0}') AND OWNER = USER ),1,0)+NVL2((SELECT CONSTRAINT_NAME FROM ALL_CONSTRAINTS WHERE CONSTRAINT_NAME=UPPER('{0}') AND OWNER = USER),2,0) AS ROWCOUNT FROM DUAL"; } } protected override string CreateIndexSql @@ -646,6 +646,21 @@ WHERE table_name = '"+tableName+"'"); } return true; } + public override bool IsAnyIndex(string indexName) + { + string sql = string.Format(this.IsAnyIndexSql, indexName); + return this.Context.Ado.GetInt(sql) == 1; + } + public override bool IsAnyConstraint(string constraintName) + { + string sql = string.Format(this.IsAnyIndexSql, constraintName); + int res = this.Context.Ado.GetInt(sql); + return res == 2 || res == 3; + } + public override bool DropIndex(string indexName, string tableName) + { + return DropIndex(indexName); + } #endregion #region Helper