投稿する

H29 午後1 問3設問1(2) [0574]

 かおりさん(No.1) 
動的SQLというので、「売上額1月」などの列名をホスト変数を元に組み立てて解答しなければいけないのかと悩みました。
(ホスト変数hv1、hv2から年と月をSUBSTRINGで切り出して、月はゼロサプレスする?列名として読み込ませるための関数はあるのか?など)

解答を確認したところ、例として出された年月をそのまま使用しているようでしたが、
例として具体的な年月が示されているような問題の場合には、変なことを考えずにその日付を使用して解答してしまって問題ないのでしょうか?
2023.09.14 11:53
 かおりさん(No.2) 
(補足)例の値を使用してよい場合と、汎用的に解答しなければならない場合の判断基準はどうすればよいのだろうという意図の質問です。
2023.09.14 12:19
logres_fanさん(No.3) 
DB ブロンズマイスター
> 動的SQLというので、「売上額1月」などの列名をホスト変数を元に組み立てて解答しなければいけないのかと悩みました。
2017年1月と2017年2月の売上額の差を求めるSQLで、…。実行の都度、比較する年月の対応したSQLの構文を組み立て、動的SQLで実行することにした。
  (201701、01、1月、売上額1月などを入力すると、列名を動的に組み立てるコードと、列の値をそのまま使用したかのようなSQL構文を用意したので、)
その構文(2017年1月と2017年2月の売上額の差を求めるSQL)を表2中のSQL2に示す。
  
2023.09.15 00:06
logres_fanさん(No.4) 
DB ブロンズマイスター
> (補足)例の値を使用してよい場合と、汎用的に解答しなければならない場合の判断基準はどうすればよいのだろうという意図の質問です。
  動的SQL構文が表に示されて、別のSQL構文と同じ結果になるように、と基本的な知識を問われている場合、列の値をそのまま使用してよい。再出題されて、類似問題のバリエーションが増えないと、それ以上はなんとも言えないでしょう。
2023.09.15 00:23
 かおりさん(No.5) 
ご回答ありがとうございます。
自分が日本語を上手く読み取れていなかっただけですね…。
表2中のSQL1に示されているのが、「例えば」とは記載されていますが、「2017年1月と2017年2月の売上額の差を求めるSQL」の構文。
それと同じ結果を得るのがSQL2の構文なので、SQL2も「2017年1月と2017年2月の売上額の差を求めるSQL」。だから、SQL1で使われているホスト変数ではなく、具体的な数値を使っても良いということですかね。
2023.09.17 16:50

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop