Pregunta

enter image description here

He rastreado un error en mi sistema esta anomalía - al menos es una anomalía en mi sistema, de 15 de catálogos con similar pero desigual esquemas.

Lo que hace que el [NOMBRE_TABLA] en [INFORMATION_SCHEMA].[OPINIONES] a ser diferente al valor en [VIEW_DEFINITION]?

Esto me hace pensar que yo no entiendo algo acerca de las Vistas o Tablas del Sistema en SQL Server....

¿Fue útil?

Solución

Si ha cambiado el nombre de la vista, el cambio de nombre, pero la definición no.

Usted debe hacer esto en un DROP/CREATE o un ALTER guión, no por derecho-clic o usando sp_rename.

Este es en realidad el comportamiento esperado para todos los módulos.Aquí es una prueba rápida mediante un sencillo procedimiento almacenado:

CREATE PROCEDURE dbo.proc_foo
AS
    SELECT 1;
GO

-- rename it to proc_bar

EXEC sys.sp_rename N'dbo.proc_foo', N'proc_bar', N'OBJECT';
GO

-- check the definition from various sources

SELECT od = OBJECT_DEFINITION(OBJECT_ID(N'dbo.proc_bar')),
    info_s = (SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES 
              WHERE ROUTINE_NAME = N'proc_bar' AND SCHEMA_NAME = N'dbo'),
    sql_m = (SELECT definition FROM sys.sql_modules 
             WHERE [object_id] = OBJECT_ID(N'dbo.proc_bar'));

Resultados:

od                             info_s                         sql_m
-----------------------------  -----------------------------  -----------------------------
CREATE PROCEDURE dbo.proc_foo  CREATE PROCEDURE dbo.proc_foo  CREATE PROCEDURE dbo.proc_foo
AS                             AS                             AS
    SELECT 1;                      SELECT 1;                      SELECT 1;

En cualquier caso, usted no debería estar usando INFORMATION_SCHEMA de todos modos...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top