QA@IT
«質問へ戻る

表記とフォーマットを整えました

1138
タイトル
SqlServerのプロシージャにて動的なSQLを実行し、実行結果をCursorとしてOutputする。
SQL Serverのプロシージャにて動的なSQLを実行し、実行結果をCursorとしてOutputする。
本文
-初めまして
-業務でasp.netのページ作成をおこなっております。
+初めまして、業務でasp.netのページ作成をおこなっております。
 
-aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、
-現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい
-asp上で入力されたデータを引数に動的にSQLを構築し、
-検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。
+aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい、asp上で入力されたデータを引数に動的にSQLを構築し、検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。
 
 これまでの調査で
-・動的なSelect文を実行し、1件のデータを取得する
-・動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
-・静的なSelect文を実行し、検索結果をCursorの戻り値として返す
+
+- 動的なSelect文を実行し、1件のデータを取得する
+- 動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
+- 静的なSelect文を実行し、検索結果をCursorの戻り値として返す
+
 という行程については理解したのですが
 
-・動的なSelect文を実行し、検索結果をCursorの戻り値として返す
+- 動的なSelect文を実行し、検索結果をCursorの戻り値として返す
+
 を実行するための方法がわかりません。
+
 よろしければ知恵を貸していただけないでしょうか? よろしくお願いします。
 
-仕様
+## 仕様
+
 OS:Windows 2003 Server Standard
 DB:SQLServer2005SP2 Standard
 asp.net:C#で構築
 
-・ソース(一部簡略、本番ではSQLのWhere句を動的に構築)
+## ソース(一部簡略、本番ではSQLのWhere句を動的に構築)
 
+~~~
 ALTER PROCEDURE [dbo].[GetData](
 	@GetCur CURSOR VARYING OUTPUT		-- 出力データ
 )
 
 	DEALLOCATE CUR_GET
 END
+~~~
 
 すいません。よろしくお願いします。

SQL Serverのプロシージャにて動的なSQLを実行し、実行結果をCursorとしてOutputする。

初めまして、業務でasp.netのページ作成をおこなっております。

aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい、asp上で入力されたデータを引数に動的にSQLを構築し、検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。

これまでの調査で

  • 動的なSelect文を実行し、1件のデータを取得する
  • 動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
  • 静的なSelect文を実行し、検索結果をCursorの戻り値として返す

という行程については理解したのですが

  • 動的なSelect文を実行し、検索結果をCursorの戻り値として返す

を実行するための方法がわかりません。

よろしければ知恵を貸していただけないでしょうか? よろしくお願いします。

仕様

OS:Windows 2003 Server Standard
DB:SQLServer2005SP2 Standard
asp.net:C#で構築

ソース(一部簡略、本番ではSQLのWhere句を動的に構築)

ALTER PROCEDURE [dbo].[GetData](
    @GetCur CURSOR VARYING OUTPUT       -- 出力データ
)
AS
BEGIN
    -- 変数設定
    DECLARE @SQL_Select         nvarchar(4000)

    -- SQL構築
    SET @SQL_Select = 'DECLARE CUR_GET CURSOR FOR '
    SET @SQL_Select = @SQL_Select +  'SELECT  col_1'
    SET @SQL_Select = @SQL_Select + '     , col_2'
    SET @SQL_Select = @SQL_Select + '     , col_3'
    SET @SQL_Select = @SQL_Select + '  FROM Test_Table '

    -- SQL実行
    EXEC sp_executesql @SQL_Select

    -- 実行結果をCursor @GetCurに設定
    -- ※この部分についてわかりません。

    DEALLOCATE CUR_GET
END

すいません。よろしくお願いします。

初めまして、業務でasp.netのページ作成をおこなっております。

aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい、asp上で入力されたデータを引数に動的にSQLを構築し、検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。

これまでの調査で

- 動的なSelect文を実行し、1件のデータを取得する
- 動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
- 静的なSelect文を実行し、検索結果をCursorの戻り値として返す

という行程については理解したのですが

- 動的なSelect文を実行し、検索結果をCursorの戻り値として返す

を実行するための方法がわかりません。

よろしければ知恵を貸していただけないでしょうか? よろしくお願いします。

## 仕様

OS:Windows 2003 Server Standard
DB:SQLServer2005SP2 Standard
asp.net:C#で構築

## ソース(一部簡略、本番ではSQLのWhere句を動的に構築)

~~~
ALTER PROCEDURE [dbo].[GetData](
	@GetCur CURSOR VARYING OUTPUT		-- 出力データ
)
AS
BEGIN
	-- 変数設定
	DECLARE @SQL_Select			nvarchar(4000)

	-- SQL構築
	SET @SQL_Select = 'DECLARE CUR_GET CURSOR FOR '
	SET @SQL_Select = @SQL_Select +  'SELECT  col_1'
	SET @SQL_Select = @SQL_Select + '     , col_2'
	SET @SQL_Select = @SQL_Select + '     , col_3'
	SET @SQL_Select = @SQL_Select + '  FROM Test_Table '

	-- SQL実行
	EXEC sp_executesql @SQL_Select

	-- 実行結果をCursor @GetCurに設定
	-- ※この部分についてわかりません。

	DEALLOCATE CUR_GET
END
~~~

すいません。よろしくお願いします。

質問を投稿

SqlServerのプロシージャにて動的なSQLを実行し、実行結果をCursorとしてOutputする。

初めまして
業務でasp.netのページ作成をおこなっております。

aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、
現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい
asp上で入力されたデータを引数に動的にSQLを構築し、
検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。

これまでの調査で
・動的なSelect文を実行し、1件のデータを取得する
・動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
・静的なSelect文を実行し、検索結果をCursorの戻り値として返す
という行程については理解したのですが

・動的なSelect文を実行し、検索結果をCursorの戻り値として返す
を実行するための方法がわかりません。
よろしければ知恵を貸していただけないでしょうか? よろしくお願いします。

仕様
OS:Windows 2003 Server Standard
DB:SQLServer2005SP2 Standard
asp.net:C#で構築

・ソース(一部簡略、本番ではSQLのWhere句を動的に構築)

ALTER PROCEDURE [dbo].GetData
AS
BEGIN
-- 変数設定
DECLARE @SQL_Select nvarchar(4000)

-- SQL構築
SET @SQL_Select = 'DECLARE CUR_GET CURSOR FOR '
SET @SQL_Select = @SQL_Select +  'SELECT  col_1'
SET @SQL_Select = @SQL_Select + '     , col_2'
SET @SQL_Select = @SQL_Select + '     , col_3'
SET @SQL_Select = @SQL_Select + '  FROM Test_Table '

-- SQL実行
EXEC sp_executesql @SQL_Select

-- 実行結果をCursor @GetCurに設定
-- ※この部分についてわかりません。

DEALLOCATE CUR_GET

END

すいません。よろしくお願いします。

初めまして
業務でasp.netのページ作成をおこなっております。

aspで入力した条件で検索を行い検索結果をページ上に出力するページを作成しているのですが、
現行のasp上でSQL(Select文)を構築・実行する仕様ではタイムアウトを頻発してしまい
asp上で入力されたデータを引数に動的にSQLを構築し、
検索結果をCursorの戻り値として返すという仕様に変更するための開発を行なっております。

これまでの調査で
・動的なSelect文を実行し、1件のデータを取得する
・動的なSelect文を実行し、Cursorを取得しプロシージャ内でデータの参照
・静的なSelect文を実行し、検索結果をCursorの戻り値として返す
という行程については理解したのですが

・動的なSelect文を実行し、検索結果をCursorの戻り値として返す
を実行するための方法がわかりません。
よろしければ知恵を貸していただけないでしょうか? よろしくお願いします。

仕様
OS:Windows 2003 Server Standard
DB:SQLServer2005SP2 Standard
asp.net:C#で構築

・ソース(一部簡略、本番ではSQLのWhere句を動的に構築)

ALTER PROCEDURE [dbo].[GetData](
	@GetCur CURSOR VARYING OUTPUT		-- 出力データ
)
AS
BEGIN
	-- 変数設定
	DECLARE @SQL_Select			nvarchar(4000)

	-- SQL構築
	SET @SQL_Select = 'DECLARE CUR_GET CURSOR FOR '
	SET @SQL_Select = @SQL_Select +  'SELECT  col_1'
	SET @SQL_Select = @SQL_Select + '     , col_2'
	SET @SQL_Select = @SQL_Select + '     , col_3'
	SET @SQL_Select = @SQL_Select + '  FROM Test_Table '

	-- SQL実行
	EXEC sp_executesql @SQL_Select

	-- 実行結果をCursor @GetCurに設定
	-- ※この部分についてわかりません。

	DEALLOCATE CUR_GET
END

すいません。よろしくお願いします。