ここから本文です

プログラミングの勉強をしてて出てきた単語なのですが...

but********さん

2019/11/1013:59:34

プログラミングの勉強をしてて出てきた単語なのですが...

生SQLってなんですか?
逆に生じゃないSQLってなんなんですかね??

閲覧数:
24
回答数:
5
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nora1962jpさん

2019/11/1014:59:42

プログラム側で文字列としてSQLを扱う場合に使われる言葉だと思います。
逆はO/Rマッパやその他のドライバで抽象化された形で操作される場合。

RDBMSのネイティブなインターフェイスでSQLをRDBMSに発行することで、その機能を100%活かすことは可能になりますが、文字列として組み立てるとSQLインジェクションのリスクが生じますし、RDBMSを変更するとプログラムの修正が必要になります。

「埋め込みSQL」やjdbcのPreparedStatementなどはパラメータ渡しでSQLを実行しますが、これらについて「生SQL」かどうかの区別は聞いたことはないです。

質問した人からのコメント

2019/11/11 00:37:02

非常にわかりやすい説明でなおかつ、補足もすごいタメになりました!
理解できてスッキリしました!
nora1962jp様含め、皆さま回答ありがとうございました!

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

2019/11/1014:56:09

世の中には、SQLが苦手な人向けの「SQLビルダー」と呼ばれる専用クラスが用意されており、SQLを直接記述することがないケースがあります。

決まりではありませんが、そのビルダークラスを通していない、人間が手書きしたSQLを「生SQL」または「直接書いたヤツ」などと称します。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

dwk********さん

2019/11/1014:49:52

生 SQL という専門用語はありません。
以下、推測です。
C# には SQL を直接使わずともデータベースを読み書きする機能があります。そういう機能があるにもかかわらず、SQL を文字列として組み立ててデータベースにアクセスすることを指していると考えられます。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

プロフィール画像

カテゴリマスター

原沢信道さん

2019/11/1014:09:04

生SQLと言うのはあまり聞いたことが無いので、何とも回答しようがないですが、多分プログラムで自由にSQL文が組み立てられるように成っている物と推測します。なので、生ではない物は自由に組み立てられない構造のプログラムと推測します。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

10ninさん

2019/11/1014:04:12

どういう文脈で出てきたんでしょう?
例えばORマッパーをつかって「クエリを作る」という事をしている場合には、ORMとの対比でSQLを直接書いたり、ORMに対してSQLの一部を渡して処理させるような時に、「生のSQLを渡して・・・」という表現を使うケースがあります。

これは、ORMによって組み立てられたSQL(自動生成のSQL、生でないSQL)と、ヒトが入力したSQL(生のSQL)とを区別して表現するような意図が含まれているケースがほとんどです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる