DECLARE @definition varchar(max)
DECLARE @view CURSOR
SET @view = CURSOR FOR
SELECT m.definition FROM sys.views v INNER JOIN sys.sql_modules m ON m.object_id = v.object_id
OPEN @view
FETCH NEXT FROM @view INTO @definition
WHILE @@FETCH_STATUS = 0 BEGIN
PRINT @definition
PRINT 'GO'
FETCH NEXT FROM @view INTO @definition
END CLOSE @view DEALLOCATE @view
7条答案
按热度按时间nkcskrwz1#
您看过sp_helptext吗?
SQL SERVER – Stored Procedure to display code (text) of Stored Procedure, Trigger, View or Object
628mspwn2#
右键单击视图并编写脚本。
x759pob23#
它位于sys.sql_modules中,其他模式表如INFORMATION_SCHEMA只包含定义的前4000个字符(它们会被截断)。
qojgxg4l4#
右键单击视图名称,然后左键单击“SCRIPT VIEW as”,然后左键单击“ALTER TO”,然后左键单击“NEW QUERY EDITOR WINDOW”--答对了,你的位置!要打印,请单击脚本屏幕,然后使用工具栏打印机图标发送到打印机,或者单击FILE〉〉PRINT。当然,要注意退出时不做任何更改。这对存储过程也是一样的。
gev0vcfq5#
您可以将脚本视为代码,并将其复制粘贴到编辑器中,如下所示:
并插入所需的视图名称。
j0pj023g6#
为了将来能对某些人有所帮助,我整理了一个小脚本,用于输出数据库中 * 所有 * 视图的创建脚本。
h43kikqp7#
用户需要ViewDefinition权限才能查看定义列(SQL创建语句)