tengo cambiar el nombre de la tabla mediante el procedimiento sp_rename.Do tengo que cambiar la restricción fk de la tabla hija?sql: ¿necesita cambiar la restricción en la tabla de cambio de nombre?
Respuesta
restricciones e índices pasará a llamarse de forma automática, pero usted tendrá que manualmente no cambiar el nombre de trabajo en los procedimientos almacenados, triggers, funciones definidas por el usuario, y vistas que hacen referencia la mesa. Ver the documentation on MSDN.
No, el cambio de nombre de la tabla también habrá actualizado los metadatos correspondientes en los catálogos del sistema y, por lo tanto, la restricción seguirá haciendo referencia a la tabla correcta.
Puede utilizar la siguiente secuencia de comandos para identificar todas las claves foráneas para validar su cambio si lo desea.
SELECT PKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
PKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O1.SCHEMA_ID)),
PKTABLE_NAME = CONVERT(SYSNAME,O1.NAME),
PKCOLUMN_NAME = CONVERT(SYSNAME,C1.NAME),
FKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
FKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O2.SCHEMA_ID)),
FKTABLE_NAME = CONVERT(SYSNAME,O2.NAME),
FKCOLUMN_NAME = CONVERT(SYSNAME,C2.NAME),
-- Force the column to be non-nullable (see SQL BU 325751)
--KEY_SEQ = isnull(convert(smallint,k.constraint_column_id), sysconv(smallint,0)),
UPDATE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsUpdateCascade')
WHEN 1 THEN 0
ELSE 1
END),
DELETE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsDeleteCascade')
WHEN 1 THEN 0
ELSE 1
END),
FK_NAME = CONVERT(SYSNAME,OBJECT_NAME(F.OBJECT_ID)),
PK_NAME = CONVERT(SYSNAME,I.NAME),
DEFERRABILITY = CONVERT(SMALLINT,7) -- SQL_NOT_DEFERRABLE
FROM SYS.ALL_OBJECTS O1,
SYS.ALL_OBJECTS O2,
SYS.ALL_COLUMNS C1,
SYS.ALL_COLUMNS C2,
SYS.FOREIGN_KEYS F
INNER JOIN SYS.FOREIGN_KEY_COLUMNS K
ON (K.CONSTRAINT_OBJECT_ID = F.OBJECT_ID)
INNER JOIN SYS.INDEXES I
ON (F.REFERENCED_OBJECT_ID = I.OBJECT_ID
AND F.KEY_INDEX_ID = I.INDEX_ID)
WHERE O1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND O2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND C2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.COLUMN_ID = K.REFERENCED_COLUMN_ID
AND C2.COLUMN_ID = K.PARENT_COLUMN_ID
Este script se obtienen de: Identify all of your foreign keys in a SQL Server database
Eso es realmente osum stuff dude.Gracias –
De nada, me alegro de ayudar. –
[aquí] (http://stackoverflow.com/questions/8094156/know-relationships-between-all-the-tables-of-database-in-sql-server) es ** otro script **, la esperanza ayuda a alguien . – stom
- 1. cambio de nombre de la tabla a mayúsculas
- 2. ¿Cambiar el nombre de una restricción en SQL Server?
- 3. Cambiar el nombre de la columna en SQL Server 2008
- 4. sql 2005 cambio de nombre de la tabla que tiene dependencias
- 5. Obtener nombre de tabla por nombre de restricción
- 6. ¿Cómo cambio el nombre de una columna en una tabla de base de datos usando SQL?
- 7. Caída Restricción única de la tabla MySQL
- 8. Cambiar el nombre de la tabla o vista de Oracle
- 9. Cómo cambiar el nombre de una tabla en la edición compacta del servidor sql
- 10. Parametrizar el nombre de la tabla en .NET/SQL?
- 11. Cambiar el nombre de la columna en SQL Server
- 12. SQL Sub consultas en la restricción de verificación
- 13. jQuery nombre de la clase de cambio
- 14. SQL usando el disparador para la restricción
- 15. Restricción de la tabla de SQLite: única en varias columnas
- 16. SQL dinámico (pasar el nombre de la tabla como parámetro)
- 17. ¿Cómo se elimina una restricción única de la columna de la tabla?
- 18. cómo cambiar el nombre de la columna con T-SQL
- 19. necesita asesoramiento con tabla HTML
- 20. ¿Cómo puedo agregar la restricción ON DELETE en la tabla?
- 21. Actualización del nombre de restricción en PostgreSQL
- 22. SQL ¿Puedo tener una restricción "condicionalmente única" en una tabla?
- 23. ¿Cómo cambiar el nombre de una tabla usando una consulta SQL?
- 24. Cambiar la restricción de columna null/not null = error de replicación de rowguid
- 25. SQL, ¿Cómo cambiar la columna en la tabla SQL sin romper otras dependencias?
- 26. Rails 3/ActiveRecord: ¿Cómo cambiar/cambiar el nombre de la tabla durante la solicitud de forma dinámica?
- 27. Emacs Cambiar el nombre de la variable
- 28. Necesita ayuda para sintonizar la consulta sql
- 29. Reparar la tabla auth_permission después de cambiar el nombre de un modelo en Django
- 30. ¿Cómo cambio el nombre de una tabla en SQL Server Compact Edition?
Muchas gracias por salvarme una mañana de trabajo innecesario :-) – EvilDr