日期:2014-05-16 浏览次数:20624 次
USE tempdb
GO
--创建表
IF OBJECT_ID('testTB') IS NOT NULL
DROP TABLE testTB
GO
CREATE TABLE testTB ( id INT, NAME VARCHAR(10) )
--插入测试数据
INSERT INTO testTB
SELECT 1,'a'
UNION ALL
SELECT 2,'b'
UNION ALL
SELECT 3,'c'
IF OBJECT_ID('V_testTB') IS NOT NULL
DROP VIEW V_testTB
GO
CREATE VIEW V_testTB
AS
SELECT *
FROM testTB
go
SELECT * FROM V_testTB

--添加一列 ALTER TABLE testTB ADD age INT
SELECT * FROM V_testTB

sp_refreshview V_testTB
SELECT * FROM V_testTB

--删除一列 ALTER TABLE testTB DROP COLUMN id
SELECT * FROM V_testTB


SELECT DISTINCT
'EXEC sp_refreshview ''' + name + ''''
FROM sys.objects AS so
INNER JOIN sys.sql_expression_dependencies AS sed ON so.object_id = sed.referencing_id
WHERE so.type = 'V'
AND sed.referenced_id = OBJECT_ID('testTB') ;