将自定义 Intellisense 功能添加到我的存储过程

Add custom Intellisense feature to my Stored Procedure

提问人:Ashique Razak 提问时间:10/18/2023 最后编辑:Dale KAshique Razak 更新时间:10/18/2023 访问量:33

问:

我创建了一个新的 SP,它只会按降序返回前 10 行,例如:

CREATE PROCEDURE giveme
    @TableName NVARCHAR(128)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @sqlQuery NVARCHAR(MAX);

    SET @sqlQuery = '
        SELECT TOP 10 *
        FROM ' + QUOTENAME(@TableName) + ' WITH (NOLOCK)
        ORDER BY 1 DESC;';

    EXEC sp_executesql @sqlQuery;
END;

在执行 SP 时,不会在 Intellisense 的帮助下生成数据库中的所有表名。虽然,当我使用:

select * from 

它确实显示带有表名的建议。如何向 SP 添加表名建议?

SQL 服务器 SSMS

评论

0赞 Squirrel 10/18/2023
您的意思是与数据库中的表执行部分匹配吗?用?@TableNameLIKE + @TableName + '%'
1赞 GarethD 10/18/2023
这是做不到的,而且这真的不是你想要的那种存储过程,我个人认为输入没有足够大的不便来保证任何形式的自动化,但如果你一直这样做,你可以考虑为它创建一个片段SELECT TOP 10 * FROM x ORDER BY 1
0赞 Thom A 10/18/2023
更不用说,你的解决方案不符合架构条件,因此你永远无法从不在默认架构上的对象获取数据。

答: 暂无答案