SQL Server表参数没有定义字段

时间:2017-12-06 13:54:54

标签: sql-server

我从我的C#代码中构建了一个SQL Server表,从ColumnNames获取DataTable,因为它来自我导入的Excel文件。

这很好用;现在我想在不使用动态SQL的情况下使用我在单独的存储过程中创建的SQL表,因为查询相当大,如果我走这条路线将会很难维护。

如果创建Table参数,我无法指定存储过程中的列,因为它不是静态的列集,这就是我必须从C#代码动态构建表的原因。

所以我基本上想做这样的事情:

CREATE PROCEDURE usp_SprocName

    @TableName VARCHAR(50)

AS

SELECT Something FROM Somewhere R
LEFT JOIN
(
    SELECT
        *
    FROM @TableName HR
    WHERE Field = Whatever
) HR ON R.Field= HR.Field

但是,我收到错误,在我的子查询中声明了我的@Table变量。

有没有办法在不使用动态SQL的情况下解决这个问题?

0 个答案:

没有答案