Sql server SQL Server:反向工程视图和存储过程

Sql server SQL Server:反向工程视图和存储过程,sql-server,tsql,reverse-engineering,Sql Server,Tsql,Reverse Engineering,我需要你的帮助 例如,我有一个SQL Server视图MyView Adb.vs.MyView 带列: ID Name Address Email Phone 这一观点背后的逻辑是下一步 SELECT Ac.AccountID AS ID, Ac.AccountName AS Name, Ad.Main_Adress AS Address, Em.Main_Email AS Email, Concat(Ph.Phone_Area_Code,Ph.Mob

我需要你的帮助

例如,我有一个SQL Server视图
MyView

Adb.vs.MyView
带列:

ID
Name
Address
Email
Phone
这一观点背后的逻辑是下一步

SELECT
    Ac.AccountID AS ID,
    Ac.AccountName AS Name,
    Ad.Main_Adress AS Address,
    Em.Main_Email AS Email,
    Concat(Ph.Phone_Area_Code,Ph.Mobile_Phone_Number) AS Phone  
FROM
    Bdb.dbo.Account AS Ac
INNER JOIN
    Cdb.dbo.Address AS Ad ON Ac.AccountID = Ad.AccountID
INNER JOIN
    Cdb.dbo.Emails AS Em ON Ac.AccountID = Em.AccountID
INNER JOIN
    Cdb.dbo.PhoneBook AS Ph ON Ac.AccountID = Ph.AccountID
注意:

所有这些表之间没有建立关键关系

我的目标是对该视图进行反向工程,以获得下一种结果:

请建议使用任何类型的工具或脚本来执行此操作

此外,如果有人知道类似的解决方案,但Rev.En。用于将数据填充到表中的存储过程我将非常感激

贝克。在不久的将来,我将需要反转成吨的此类视图和存储过程


提前感谢您的支持

视图只是存储的SQL脚本,SQL Server将其作为子选择添加到查询中。因此,所使用的字段实际上并不像表定义那样保存在SQL Server中。最好是使用SQLServerManagementStudio编写所有视图的脚本,并将文件插入工具(如),该工具可以输出脚本中使用的列和表


它并不完美,但应该会让你朝着你想要实现的目标迈进一大步。您可以免费试用

视图只是存储的SQL脚本,SQL Server将其作为子选择添加到您的查询中。因此,所使用的字段实际上并不像表定义那样保存在SQL Server中。最好是使用SQLServerManagementStudio编写所有视图的脚本,并将文件插入工具(如),该工具可以输出脚本中使用的列和表


它并不完美,但应该会让你朝着你想要实现的目标迈进一大步。您可以免费试用

查看系统视图。您所需的大部分内容可能在信息\u SCHEMA.VIEW\u COLUMN\u USAGE中提供。例如:

USE Adb
GO

Select * from INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
where VIEW_NAME='MyView'
GO

查看系统视图。您所需的大部分内容可能在信息\u SCHEMA.VIEW\u COLUMN\u USAGE中提供。例如:

USE Adb
GO

Select * from INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
where VIEW_NAME='MyView'
GO

不太可能,因为视图的输出列在源表和列中可能不直接相关。它们可能是基于源表(或从其他表和视图获取输入的其他视图)中多个列的值进行计算的表达式的结果,或者,就此而言,输出可能是完全不依赖于任何表字段的常量表达式,或者是环境数据,如当前日期时间,等。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引自以为是的答案和垃圾邮件。不太可能,因为视图的输出列在源表和列中可能不直接相关。它们可能是基于源表(或从其他表和视图获取输入的其他视图)中多个列的值进行计算的表达式的结果,或者,就此而言,输出可能是完全不依赖于任何表字段的常量表达式,或者是环境数据,如当前日期时间,等。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。