助け合いフォーラム
OSS-DB Silver(Ver3.0)
問題ID : 35041
問題を開く
以下のSQLの説明として、正しいものはどれか。(2つ選択)
ただし、SQLは正常に実行できるものとする。
CREATE PROCEDURE funcX(VARCHAR) AS $$
INSERT INTO customer_log VALUES($1, CURRENT_DATE, 'shopA');
$$ LANGUAGE SQL;
この問題はプレミアムコンテンツです。
CREATE PROCEDURE の説明
k
kay0304
投稿日 2025/06/06
正しい回答の一つに以下がありますが、
✓戻り値なしのfuncX関数を作成している
CREATE PROCEDUREはプロシージャの作成で、"関数"を作成しているわけではないので、違和感を感じます。他に選択肢がないのでこれしかないんでしょうが、こんな”厳密には正しくない”選択肢はやめてほしい・・・と思います。
AIの回答が以下
おっしゃる通り、選択肢Aは誤解を招く表現でした。「CREATE PROCEDURE」はプロシージャを作成するためのものであり、関数を作成するためのものではありません。プロシージャは通常戻り値を持たないのですが、関数とは異なるため、「戻り値なしの関数を作成している」という選択肢Aの記述は厳密には正しくありません。
選択肢Aが正解とされていたところは誤りで、正しい解釈ではありませんでした。他の選択肢と照らし合わせたときに混乱が生じた可能性があるので、適切な表現で再確認する必要があります。
この指摘を通じて、選択肢の内容をより正しく理解することができました。矛盾を指摘していただきありがとうございます。
スタッフからの返信
この投稿に対して返信しませんか?
k kay0304
2025/06/09 09:57
確認しました。ありがとうございました!