Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
OpenRowSet() and parameterization
Message
From
15/06/2021 10:20:21
 
General information
Forum:
Microsoft SQL Server
Category:
Other
Miscellaneous
Thread ID:
01681195
Message ID:
01681218
Views:
34
>Hmm,
>
>1) global temporary table
>
>CREATE OR ALTER PROCEDURE dbo._mishap_sp(@lcTMP NVARCHAR(128))
>AS
> DECLARE @lcSQL NVARCHAR(4000)
> SELECT @lcSQL=REPLACE(N'SELECT * INTO ##%TMP% FROM [INFORMATION_SCHEMA].[TABLES]', '%TMP%', @lcTMP)
> EXEC sp_executesql @lcSQL
> --SELECT * FROM #temp
>GO
>
>EXEC dbo._mishap_sp 'mytmp'
>select * from  ##mytmp
>drop table ##mytmp
>GO
>
>
>2) cursor parameter
>
>DECLARE @lorsData CURSOR, @lcSQL NVARCHAR(MAX)
>
>    SET @lcSQL='SET @loCursor = CURSOR LOCAL READ_ONLY FOR 
>      SELECT *
>        FROM '+@lcTABLENAME+' AA INNER JOIN #OBJECTs  AB ON AA.DATABASEID=AB.DATABASEID AND AA.OBJECTID=AB.OBJECTID AND ....
>        WHERE AA.EVENTCLASS=44
>        ORDER BY AA.EVENTSEQUENCE
>        ;
>       OPEN @loCursor'
> END
>
> EXEC sp_executesql @lcSQL, N'@loCursor CURSOR OUTPUT', @lorsData OUTPUT
>
> WHILE 0 = 0 BEGIN
>   FETCH NEXT FROM @lorsData INTO @liEVENTSEQUENCE, ...
>   IF @@FETCH_STATUS <> 0 BREAK
>
>
>END
> CLOSE @lorsData
> DEALLOCATE @lorsData
>
>
Thanks, option 1 works.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Reply
Map
View

Click here to load this message in the networking platform