私の仕事では、システムのオブジェクトを取得するためにSQLを実行する必要があり、以下のリンクに関する1つの解決策を見つけることができます:why-is-this-query-not-working-in-sybase、以下の正しいSQLリスト:
DECLARE my_cursor CURSOR FOR
SELECT name
FROM sysobjects
WHERE type = 'U'
go
DECLARE @tableName VARCHAR(500)
OPEN my_cursor
FETCH my_cursor INTO @tableName
WHILE @@sqlstatus = 0
BEGIN
--Do something here
select @tableName
FETCH my_cursor INTO @tableName
END
CLOSE my_cursor
DEALLOCATE CURSOR my_cursor
上記のSQLはSysbaseで正しく実行されていますが、PowerShellスクリプトを記述し、上記のSQLを含めると、厄介なことが起こり、以下のエラーが発生します。
******************* Exception type : System.Data.Odbc.OdbcException
****************** Exception message : ERROR [HY000] [MERANT][ODBC Sybase driver][SQL Server]DECLARE CURSOR must be the only statement in a query batch.
たくさん検索しましたが結果が出ませんでした。誰か助けてくれませんか?非常にthx。