March 13, 2010

3 Different Ways to display VIEW definition using SQL Server 2008 Management Studio

Here are 3 different ways to display VIEW definitions:

Method 1: Use sp_helptext

USE Northwind
GO
EXEC
sp_helptext Invoices

Method 2: Use SQL Server 2008 Management Studio

Open SSMS 2008. Choose the database and expand the ‘Views’ node. Right click on it > Script View as > CREATE To > Choose different options as shown below:

View Definition SSMS 2008

Method 3: If you want to display the name and definitions of all view in a database, use this query:

SELECT TABLE_NAME as ViewName,
VIEW_DEFINITION as ViewDefinition
FROM INFORMATION_SCHEMA.Views

OUTPUT

View Definition

Alternatively, you can also do a join between sys.views and sys.sql_modules to obtain the same result


About The Author

Suprotim Agarwal, ASP.NET Architecture MVP works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He has also written an EBook 51 Recipes using jQuery with ASP.NET Controls.

Follow him on twitter @suprotimagarwal

9 comments:

Madhivanan said...

Note that information_schema.views will show you only 4000 characters

Other reliable methods are

1

select object_definition(object_id) from sys.objects
where type='v'

2

select * from sys.[sql_modules]
where definition like 'CREATE VIEW%'

Madhivanan
http://beyondrelational.com/blogs/madhivanan

Suprotim Agarwal said...

Thanks Madhivannan. As mentioned in my post, making a JOIN (using objectid) between sys.views and sys.sql_modules will get the View Name and View Definition

Jeffrey Wank said...

Thank you Madhivaan and Suprotim for sharing your solutions. This is very useful as I used to manually check views from management studio. Knowledge does wonders!

Anonymous said...

Thanks guys, very useful posts!!

Anonymous said...

Very useful post. Keep up the good work guys... :)

Santanu....... said...
This comment has been removed by the author.
Santanu....... said...

A very handy post....!!

Anonymous said...

Thank you, this helped a lot!

mike said...

Here is how i do it:

SELECT OBJECT_DEFINITION (OBJECT_ID(N'VIEW_NAME'));