【发布时间】:2013-06-13 11:56:44
【问题描述】:
我有以下 SQL 语句来检索删除约束语句。
SELECT DISTINCT 'ALTER TABLE '+TABLE_NAME+' DROP CONSTRAINT '+CONSTRAINT_NAME AS 'DropConstraintStatement'
FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
WHERE TABLE_NAME = 'USER';
这个查询的结果是:
- ALTER TABLE UNITS DROP CONSTRAINT FK_USER_TASK_ID
- ALTER TABLE UNITS DROP CONSTRAINT PK_USER
- ALTER TABLE UNITS DROP CONSTRAINT UQ_USER_NAME_VERSION
我想在 Java 应用程序中执行这些语句,因此我需要对这些语句进行排序,以便删除主键约束位于最后一个位置,例如:
- ALTER TABLE UNITS DROP CONSTRAINT FK_USER_TASK_ID
- ALTER TABLE UNITS DROP CONSTRAINT UQ_USER_NAME_VERSION
- ALTER TABLE UNITS DROP CONSTRAINT PK_USER
有没有很好的可能性用原生 SQL 做到这一点?
【问题讨论】:
标签: sql sql-server sql-server-2008 sorting constraints