I am using SQL 2005 and i would like to create a cursor from executing a stored procedure (dbo.SP_getDate @.Variable).
Something like this:
DECLARE Cursor1 CURSOR FOR EXECUTE dbo.SP_getDate @.Variable
i get an error saying "incorrect syntax near the keyword 'EXECUTE'."
cannot get rid of the error. what am i doing wrong?
(i am trying to avoid using #tempTbl to store the results of the execute first and then doing a select on the #tempTbl)
Not sure if i am doing this right all together.
any help would be greatly appreciate.See if this helps. It is not good practice to concatenate user entries into a SQL string, so be careful not to risk SQL Injection.
create proc SP_getDate (
@.v int
) as
SET NOCOUNT ON
SELECT TOP (@.v) HireDate
FROM AdventureWorks.HumanResources.Employee
ORDER BY EmployeeID
go
DECLARE @.sql NVARCHAR(1000)
DECLARE @.Variable int
SET @.Variable = 13
SET @.sql = '
DECLARE Cursor1 CURSOR FOR
SELECT HireDate
FROM OPENQUERY([SK8400\YUK], ''exec AdventureWorks.dbo.SP_getDate @.v'')'
SET @.sql = REPLACE(@.sql,'@.v',@.Variable)
exec (@.sql)
go
declare @.d datetime
open Cursor1
toploop:
fetch from Cursor1 into @.d
while @.@.fetch_status = 0 begin
print @.d
goto toploop
end
close Cursor1
deallocate Cursor1
go
drop proc SP_getDate
-- Steve Kass
-- Drew University
-- http://www.stevekass.com
Yassi@.discussions.microsoft.com wrote:
> Hello,
>
> I am using SQL 2005 and i would like to create a cursor from executing a
> stored procedure (dbo.SP_getDate @.Variable).
> Something like this:
>
> DECLARE Cursor1 CURSOR FOR EXECUTE dbo.SP_getDate @.Variable
>
> i get an error saying "incorrect syntax near the keyword 'EXECUTE'."
> cannot get rid of the error. what am i doing wrong?
> (i am trying to avoid using #tempTbl to store the results of the execute
> first and then doing a select on the #tempTbl)
>
> Not sure if i am doing this right all together.
> any help would be greatly appreciate.
>
>
No comments:
Post a Comment