トップ回答者
ストアドプロシージャでビューを作成する方法を教えてください。

質問
-
まことにくだらない質問で申し訳ないですが困り果てています。
Access adpからビューを作成するストアドプロシージャが作成できません。CREATE PROCEDURE "ビュー作成"
AS
create view as v_abc
as
select * from テーブル名RETURN
と言う内容なのですが、ADOエラー: キーワード'view'付近に不適切な構文があります。
と怒られてしまいます。
http://msdn.microsoft.com/ja-jp/library/ms187956.aspx
↑などを見ても構文は有っていると思うのですが・・・。SQLServer 2008 R2 Express とAccess2010です。
宜しくお願い致します。
回答
-
Hoshinaです。
こんにちはプロシージャの中で,Viewを定義したことが無かったので,調べてみました。
以下のURLに答えがあるように思います。
http://msdn.microsoft.com/ja-jp/library/ms187926.aspx上から1/3位の位置に,「制限事項と制約事項」の項目があります。
その中で,「Create Procedure」の中で使用できないステートメントを一覧にしてあります。
その一覧中に,「Create View」がありますので,そもそも使用できないのではないでしょうか?
それでは- 回答としてマーク oeameu3sngp 2011年8月2日 8:42
-
oeameu3sngpさん
こんにちは
以下のようにcreate viewのDDLをいったん変数に格納してから、exec関数で実行するやり方ではだめでしょうか?
CREATE PROCEDURE "ビュー作成"
AS
declare @create_view varchar(256);select @create_view =
'create view v_abc as' + char(13) + char(10) +
'select * from テーブル名';exec(@create_view);
RETURN;
- 回答としてマーク oeameu3sngp 2011年8月2日 8:42
すべての返信
-
Hoshinaです。
こんにちはプロシージャの中で,Viewを定義したことが無かったので,調べてみました。
以下のURLに答えがあるように思います。
http://msdn.microsoft.com/ja-jp/library/ms187926.aspx上から1/3位の位置に,「制限事項と制約事項」の項目があります。
その中で,「Create Procedure」の中で使用できないステートメントを一覧にしてあります。
その一覧中に,「Create View」がありますので,そもそも使用できないのではないでしょうか?
それでは- 回答としてマーク oeameu3sngp 2011年8月2日 8:42
-
oeameu3sngpさん
こんにちは
以下のようにcreate viewのDDLをいったん変数に格納してから、exec関数で実行するやり方ではだめでしょうか?
CREATE PROCEDURE "ビュー作成"
AS
declare @create_view varchar(256);select @create_view =
'create view v_abc as' + char(13) + char(10) +
'select * from テーブル名';exec(@create_view);
RETURN;
- 回答としてマーク oeameu3sngp 2011年8月2日 8:42
-