我需要编写这样的存储过程,但我得到了一个错误

应为‘(’、整数、数值或实数

以下是我的程序代码:

CREATE PROCEDURE [dbo].[myStoredProc]
    @numberOfRows int
AS
BEGIN
    SELECT TOP @numberOfRows *
    FROM dbo.myStoredProc   
END

谢谢!

推荐答案

您已接近very%-您只需将参数值放入括号中-如下所示:

CREATE PROCEDURE [dbo].[myStoredProc]
    @numberOfRows int
AS
BEGIN
    SELECT TOP (@numberOfRows) *
    FROM dbo.YourTableNameHere 
END

此外,您需要为您的FROM子句提供有效的table name-您不能从您正在执行的存储过程中进行 Select -这将是一个正在进行的无穷无尽的循环……

有关详细信息,请参阅official MS documentation on TOP

Sql相关问答推荐

通过 Select 值的顺序进行排序ClickHouse

是否可以为表中的所有列生成散列值?

从结果SQL查询中排除空值

仅在日期相隔时递增(Oracle SQL)

我如何才能在付款人单列中拉出只有9个付款人单的人?

Haystack针相交-在元素最多的Haystack中查找集合

连续天跟踪购买情况(将标记返回到另一列?)

匹配 H[0-9][0-9] 但不匹配除字母 H 之外的任何字母

如何在 JSONB 数组的每个对象中添加新的键值对- PostgreSQL

在Snowflake中如何使用SQL对版本字符串进行排序?

如何将输出转换为二维格式?

基于 Snowflake 的最大值创建新列

插入行时的行安全策略问题

获取 SQL Server 中每一行的两个-之间的文本

按 15 分钟递增计数分组,包括 0 计数

从多个连接返回 1 行到同一个表 - SQL Server

Select 随机行,使得列子组的组合是唯一的

在 Snowflake SQL 中计算通货inflating 率

Snowflake SQL group-by 的行为不同,具体取决于列是按位置引用还是按别名引用

SQL:有没有办法根据另一列的数据细节过滤和形成另一列?