【发布时间】:2020-01-30 09:46:44
【问题描述】:
我正在尝试使用 xp_dirtree 存储过程在 SSRS 报告中创建完整的文件路径:
CREATE TABLE #tt1 (
id int IDENTITY(1,1)
,subdirectory nvarchar(512)
,depth int
,isfile bit);
INSERT #tt1
EXEC xp_dirtree @dir, 10, 1
但是,作为补充,我想在存储过程顶部的插入中添加一列。所以像
CREATE TABLE #tt1 (
id int IDENTITY(1,1)
,subdirectory nvarchar(512)
,depth int
,isfile bit
,NewColumn nvarchar(100)
);
INSERT #tt1
EXEC xp_dirtree @dir, 10, 1, 'NEW COLUMN'
但是这不起作用并被踢出
Msg 213, Level 16, State 7, Procedure xp_dirtree, Line 1 [Batch Start Line 0]
Column name or number of supplied values does not match table definition.
【问题讨论】:
-
简短回答 - 你不能直接这样做。这是存储过程工作方式的一个限制——结果集是在过程中定义的。您发布的情况有解决方法。但是,tsql 确实不是询问文件系统的正确工具。
标签: sql sql-server tsql sql-server-2016