日期:2014-05-16 浏览次数:20628 次
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') ;