更新 ORACLE 验证约束和索引的问题

This commit is contained in:
shaohua
2024-08-08 20:06:15 +08:00
parent 0f7b0dbe89
commit eba700c322

View File

@@ -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