I’ve been working with Stored Procedures a lot recently, even
though the whole idea was new to be before starting this job. Today I
was trying to select the first
After a brief Google search there were a few methods presented
including such nasties as manually writing out a SQL string within the
procedure and executing that instead! Also, it was suggested to change
the ROWCOUNT variable before and after issuing the select. Sheesh,
that’s messy.
Well anyway, the solution which works for me and is much easier is simply to wrap the variable in parenthesis and magic… it works.
I’m just really noting this down so that I don’t forget, do another
Google search and then resort to those other ugly ways of doing this
simple task.
n
rows from a table, but wanted to be able to change n
via a parameter in the procedure call. I thought something like the
following would work, but it throws an error when trying to use the
variable for the TOP clause.
CREATE PROCEDURE dbo.sp_TestGetAll
@LIMIT INT
AS
SELECT TOP @LIMIT
id, col1, col2, col3
FROM TestTable
@LIMIT INT
AS
SELECT TOP @LIMIT
id, col1, col2, col3
FROM TestTable
Well anyway, the solution which works for me and is much easier is simply to wrap the variable in parenthesis and magic… it works.
CREATE PROCEDURE dbo.sp_TestGetAll
@LIMIT INT
AS
-- Notice the parentheses around @Limit - that is the only change!
SELECT TOP (@LIMIT)
id, col1, col2, col3
FROM TestTable
@LIMIT INT
AS
-- Notice the parentheses around @Limit - that is the only change!
SELECT TOP (@LIMIT)
id, col1, col2, col3
FROM TestTable
No comments:
Post a Comment