sys.sql_modules - Getting View Definitions Back in SQL Server

Q

How To Get the Definition of a View Out of the SQL Server in SQL Server?

✍: FYIcenter.com

A

If you want get the definition of an existing view back from the SQL Server, you can use the system view called sys.sql_modules, which stores defitions of views and procedures.

The sys.sql_modules holds view definitions identifiable by the object id of each view. The tutorial exercise below shows you how to retrieve the definition of view, "fyi_link_view" by joining sys.sql_modules and sys.views:

USE FyiCenterData;
GO

SELECT m.definition 
   FROM sys.sql_modules m, sys.views v
   WHERE m.object_id = v.object_id
   AND v.name = 'fyi_links_top';   
GO
definition
-------------------------------------------
CREATE VIEW fyi_links_top (LinkText) AS
   SELECT CONVERT(VARCHAR(20),id) 
      + ' - ' + CONVERT(VARCHAR(20),counts) 
      + ' - ' + url 
   FROM fyi_links WHERE counts > 1000
(1 row(s) affected)

 

Understanding and Managing Views in SQL Server

⇒⇒SQL Server Database Tutorials

2016-11-05, 749👍, 0💬