こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【緊急!】SQL文を実行できたと証明する方法

2月からITエンジニアとして研修を受けている者です。

最初の研修として、テキストに書いてあるSQLの問題を解いてOracle SQL Developer上で実行し、そのコードを提出するというものがありました。

そちらに関しては、全て添削をして頂き、終了したのですが、今日になって、実行出来ないということになり、責められました。

確かに、今日同じコードを実行しエラーが出るのを確認しましたが、私がその問題を解いた時はきちんと実行できるのを確認したことを記憶しています。

私は「Oracle SQL Developer上で実行できるのを確認してから提出した」と主張しましたが、信じてもらえず、何か証明する方法はないかと模索しております。

テキストの問題は、booksテーブルのISBNコード(isbn列)の先頭に、固定値で「ISBN」を追加するというものです。

isbn列のデータ型はCHAR(17)で、
下記のコードを提出しました。

UPDATE
books
SET
isbn = CONCAT('ISBN', isbn)
;

ただ、自宅で予習した際はエラーが発生し、列の定義をvarchar(2000)に変更したのですが、会社で実行した際はそのまま実行出来たので、列の定義が変更されていた可能性があります。

責られている点は、提出したコードでエラーが出ることではなく、「コードを実行せずに提出した」というです。

自身が実行せずに提出したのなら、反省して、二度と同じことをしないようにしようと思えますが、一方的に決めつけられて、信じてもらえず、理不尽さを感じております。

明日3/9の9:30までにきちんとOracle SQL Developer上で実行したと証明したいです。

私も方法がないか情報収集しますが、こういったことに詳しい方、アドバイスを頂けましたら幸いです。

何卒よろしくお願い致します。

投稿日時 - 2016-03-08 20:46:10

QNo.9140058

すぐに回答ほしいです

質問者が選んだベストアンサー

単純に考えると、君が接続して使ったデータベースファイルの当該テーブルの当該項目のデータが期待通り更新ずみなら、SQL文実行は成功したと言えそう。SQL DeveloperにはSQL実行履歴を閲覧できる機能があるから、実行したかどうかだけなら、確認できるかも(履歴が直近のものしか残ってなくて何日も前の実行だと難しい)。当該テーブルを君が作成したのなら、その履歴も残っているはずだから当該項目のデータ型がもともとvarchar型で作られ、君の提出したSQL文実行前に変更した履歴がないことも念のためチェックしよう。

以上を確認できたら、問題は当該項目のデータ型を変更した上での実行かどうかになりそうだから、SQL実行履歴を見るか、ログファイル(Oracle DBサーバー側、SQL Developerアプリケーション側ともログ出力設定しないまま使っていたなら諦めるしかない)が残っていてアクセス権限があるなら、SQL文実行時刻またはSQL文そのもので探してその時刻を基準に、テーブルの当該項目の文字列データ型が変更されていないかを探すくらい。

検査担当者が君の使ったデータベースファイルで試した結果なのか、別のデータベースファイルで試した結果なのかが気がかりだけどね。

なお、char型は固定長の文字列、varchar型は可変長の文字列を格納するという違いについては理解しとこう。固定長の格納ずみ文字列データに連結で文字列を足そうとしても固定長サイズを越えてしまうからエラーになる。空白文字などパディングされた文字列を除去したうえで連結処理しなくてはならないよ。

投稿日時 - 2016-03-08 22:23:35

お礼

ご回答頂きまして、ありがとうございました。
色々試してみたのですが、履歴は残っていませんでした。
今回の経験で、証拠を取っておく大切さを知ることが出来ました。
char型とvarchar型についても教えて頂きまして、ありがとうございました。

投稿日時 - 2016-03-10 20:14:49

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

SQL Developper 自体のSQL履歴を提出すれば?かなり前のまで残ってますよ。
文字列だと、どうにでも編集できてしまうので画像キャプチャーか何で提出すればいいのでは?

投稿日時 - 2016-03-09 07:09:47

お礼

ご回答ありがとうございます。
SQL履歴を確認したのですが、残っていませんでした。
その日以前の情報も見れるのですが、booksテーブルに関する履歴がselect文だとか単純なものしか残っていませんでした。
残っていたら、キャプチャをとりたいと思ってたんですけど、残念です。

投稿日時 - 2016-03-09 19:34:32

ANo.2

サーバーにログは残ってませんか。
実行に成功したログか、テーブルを変更したログの何方かがあれば、話ししやすいですね。

投稿日時 - 2016-03-08 23:06:46

あなたにオススメの質問