【发布时间】:2015-04-28 08:48:19
【问题描述】:
我正在将一些 SSRS 报告中的大量嵌入式 SQL 传输到函数。该过程通常涉及获取当前选择查询、添加 INSERT INTO 部分并返回结果表。像这样的:
CREATE FUNCTION [dbo].[MyReportFunction]
(
@userid varchar(255),
@location varchar(255),
more params here...
)
RETURNS @Results TABLE
(
Title nvarchar(max),
Location nvarchar(255),
more columns here...
)
AS
BEGIN
INSERT INTO @Results (Title, Location, more columns...)
SELECT tblA.Title, tblB.Location, more columns...
FROM TableA tblA
INNER JOIN TableB tblB
ON tblA.Id = tblB.Id
WHERE tblB.Location = @location
RETURN
END
作为其中的一部分,我必须将列放入@Results 表中,并根据 SELECT 查询返回的内容为它们提供正确的大小和类型。现在获取类型很好,因为我可以将现有的 SELECT 查询复制并粘贴到一个新查询中,然后将鼠标悬停在列名上以获取它,例如列标题(nvarchar,null)。但是,我还需要知道大小。有没有一种简单的方法可以做到这一点,而不必去特定的表并查看列列表?是否有一种方法可以编辑工具提示及其在鼠标悬停时显示的信息?
如果我有很多不同表的连接,并且要滚动浏览一长串表可能会很烦人。
我使用的是 SQL Server 2008 R2
【问题讨论】:
标签: sql sql-server sql-server-2008-r2 sql-function