Declare from tbl_b --------------------------- where col4 is not null カラム名1 よくわからいのですが、 set echo off SQLを記述した外部ファイルをSQL*Plusで実行する方法を解説します。結論からいうと実行したいファイル名の前に「@」をつけるだけで実行可能です。今回は以下のフォルダとファイル構成で検証していきます。・フォルダ構成, 外部ファイルは、SQL*Plusにログインした際のフォルダに配置しましょう。パスを指定しないでファイル名のみで実行した場合、SQL*Plusでログインした際のフォルダのファイルを参照します。, さて、準備が整いました。実際に実行してみましょう!大変上手に実行できましたぁ~\(^o^)/, さて、準備が整いました。実際に実行してみましょう!先程と違う点は、ログインしているフォルダが「C:\」のため先ほどと同じコマンドを実行しても以下のエラーが発生します。, はい!パスを指定してあげるとちゃんと実行されているのがわかりますね。大変上手に実行できましたぁ~\(^o^)/, 外部ファイルに引数を渡す場合は、ファイル名の後にスペースで区切って渡します。渡した引数は「&1」「&2」・・・で受け取ることができます。. --------------------------- ・batの中身 >select disti SQL>@sample1 0, 回答 from tbl_b BATファイルの中身 2 / クリップ お知恵をお貸しください。 だと、エラーでできません。 DELETE FROM TABLE WHERE FLG = 1; select distinct col5,'2006/01/01' ご希望のように ちなみにOracle9iR2を使用しています。 と書くのが一般的でしょうね。, いつも参考にさせていただいております。 oracle10gを使用しています。 自分の調べた限りではできそうにないので、 sqlで改行コードやタブコードを削除(置換)する方法です。改行コードはlfだったりcrlfだったります。replace関数を使えば一括で処理できます。正規表現を使えば更に簡単。ここではサンプルを使ってsqlで改行コードやタブコードを削除(置換)する方法を紹介しています。 BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59' とするためにはちょっとSQLだけではできないのでPL/SQLを使う必要があります。, batのリダイレクト>>を使わず、SQL*Plus(@ではなく*です)のspoolを使ってはいかがでしょう? union 2 / クリップ ログインできない場合いろいろな原因が考えられます。 --------------------------- sqlplus -S USER/PASS@TNSNAME @data_delete.sql >> log.txt --------------------------- ・ where col6 is not null); よろしくお願いします。, テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが) で試してください。 ファイルを読むと成功しました。 出力形式が見づらくて困っています。 >SYSTEMユーザーやSCOTTユーザーではログインできるのですが、SYSユーザーになる方法がわかりません。 それともDBに直接値を打ち込むときに改行コードを入力出来るのでしょうか?, VisualStudio上で見ると あんぱさんどで改行コードを挟んでるのは ----------------------------- Linux コマンド ディレクトリやファイルの確認方法 ディレクトリやファイルを確認する際は以下のコマンド。 すべてのファイルを表示して、詳細表示を以下のコマンドで表示できます。 -a オプション すべてのファイルを表示す... 定数の定義方法について 定数を使用する場合は、宣言部で定数を定義する必要があります。定数に代入された値は変更できません。 SQL> SET SERVEROUTPUT ON SQL> DECLARE 2 co... PDFBoxを使って既存PDFにページ番号を付与してみた PDFBoxというライブラリを使用して、既存PDFを読み込んでページ番号を付与してみたいと思います。 あまりappendモードで作成してる記事がないので参考になれば幸いです。... 文字列の文字数を調べる「LENGTH」関数の使い方 「LENGTH」関数を使うことによって、文字列の文字数を調べる事ができます。 「LENGTH」関数の構文 以下が、「LENGTH」の基本的な構文です。 引数 ... 検索結果から重複行を除く方法 検索結果から重複行を「DISTINCT」キーワードを使用することによって除くことができます。 「DISTINCT」キーワードの基本構文 重複行を除きたい先頭の列名にキーワードを記述します。「DISTINC... PDFBoxを使って既存PDFを読み込んでみた PDFBoxというライブラリを使用して、既存PDFを読み込んでみようと思います。 pom.xml まずは準備、pom.xmlに依存関係を追加しましょう。 PDFファイルの準備 ... Java SpringとThymeleafでチェックボックス(checkbox)を使用する方法, 外部ファイルを実行する記述方法と実行例(SQL*Plusの起動と同時に外部ファイルを実行), Oracle SQL*Plus SQLの表示結果を見やすくする方法 表示幅の調節「LINESIZE」「COLUMN」, Oracle PL/SQL 「SELECT INTO文」 SELECTした結果を変数に代入する. sqlplus user/pass@dbname @hoge.sql 端末:WindowsXP カラム名3 CREATE OR REPLACE PROCEDURE pl_hoge() カラム名2 --------------------------- ・「test2.sql」ファイルの中身. --------------------------- @echo %date% %time% データ削除開始 >> log.txt END; 年月が最大(最新)のデータを取得したいです。 カラム名1 sql@plusを使用してデータを削除する処理を行いたいと考えています。 画面のsqlplusは・・・どこだったか忘れた(^^; 調べてみましたところ、文字数オーバーでした。オラクル10gからは、文字数制限が3000文字から若干増えているということがわかりました。 spool log.txt カラム名2 とまで書いて、社員名の前にカーソルを置いてEnterを押しても、社員名以降の文は改行されずにカーソルだけ2行目に行ってしまいますよね。 col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS') --------------------------- SQLPATファイルは、大体以下の感じで、2つのスキーマーで同じPL/SQLを実行します。 で確認ができる。, はじめまして、PC超初心者なのにOracleを勉強し始めました。 と書くべきでしょうね。, Oracleで「文字が無効です」のエラーが出ます どなた様か、ご教授よろしくお願いしますm(_ _)m, 日付検索を行う場合は、以下のように書式を含める必要があります。 環境 set NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS' SET serveroutput ON; カラム名1 C   200508  400 よくわからいのですが、 sqlplus sys/パスワード@接続文字列 as sysdba ツール:A5:SQL Mk-2 64bit edition Version2.12.3 カラム名2 --------------------------- sqlplus USER_A/USER_A @DB_A @SQLPAT IDE:Eclipse3.5 ※設定-一般-ワークスペースのテキストファイルエンコードはUTF-8, Java内で生成したSQL文を見ないとなんとも言えないけど。 select distinct col4,'2006/01/01' @echo %date% %time% データ削除開始 >> log.txt サーバにアクセスしてsqlplusで、 --------------------------- Windows XP上に配置したバッチファイルをタスクで起動させ、 3の値 調べたところ、V$ROLLSTATにRSSIZEという項目がありますが、これと何かを比較するのでしょうか?また、どこかにログ等出力されているのであれば、それを確認したいのですが、無理でしょうか?, コマンドラインに制限があるかと思い、改行やコメント等を省きましたが、以前原因不明です。空白および、改行も影響してるのかもしれません。 sqlで改行コードやタブコードを削除(置換)する方法です。改行コードはlfだったりcrlfだったります。replace関数を使えば一括で処理できます。正規表現を使えば更に簡単。ここではサンプルを使ってsqlで改行コードやタブコードを削除(置換)する方法を紹介しています。 としてみましたが、うまくいきませんでした。, ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・ set echo off SQL plus で文の途中でEnterキーで改行ってできないのでしょうか? A   200412  600 from tbl_b sqlplus -S USER/PASS@TNSNAME @data_delete.sql B   200504  560 外部ファイルは、SQL*Plusにログインした際のフォルダに配置しましょう。 何が悪いのか見当がつきません。 分かりづらくですいませんが、皆さま、ご教授お願いします。, いつもお世話になっています。 ちなみにOracle9iR2を使用しています。 oracle10gを使用しています。sqlplusでいくつかのDDLとDMLを一度にコピーペーストで流しました。一つ一つの処理後にcommit;も入っています。しかし、最後のDMLで処理がとまってしまい、エラーもでません。内容は以下のようになっています 3の値 SQL>set linesize 列数 from a / 分析業務等でデータを集約する際、OS環境間等を移動させるファイルの「文字コード」や「改行コード」がクローズアップされる事は往々にしてある事と思います。「移行先の環境に於ける文字コードが◯◯◯◯だが、移行元のDB環境の文字コードは△△△なのでどこかで変換を掛けておく必要がある」等ですね。この場合DB側でデータをエクスポートさせる際に変換を掛けてしまえるのであればコトは簡単ですが、必ずしもそういう訳にも行かないと思います。また、DB由来のものでは無い場合(ログファイル等)そもそも変換を掛けるタイミングが無い状態で取り込まなければならないという事もあるでしょう。, 当エントリではそんな時に使えそうな「文字コードや改行コードを確認・変換を掛けるツール」について、コマンドラインツールでどんなものがあるのかざっくり調べてみた内容をご紹介したいと思います。, ※見出し横にある[]括弧での記載は「[文]:文字コードに対応」「[改]:改行コードに対応」の意です。記載のコード確認または変換に対応している、という形となります。, 文字コード及び改行コード変換で一番使い勝手が良いであろうツールとなると、やはりnkfがその筆頭として挙げられるのでは無いでしょうか。Linux/Windows双方のOSに対応しており、また文字コード・改行コード双方の内容確認・変換にも対応しています。, nkf --guessで所定のファイルに対しコマンドを実行する事で文字コード及び改行コードをより詳しい形で確認する事が出来ます。, バイナリファイルを任意の表示形式(16進数や10進数など)で表示するコマンドで、Linux/Unix系のOSにははじめから入っている事が多いです。, ファイルの中身を任意の形式で表示する事で、実際にどのような改行文字が含まれている(使われている)かを確認する事が可能です。ちなみに表示される改行文字については以下のようなものがあります。下記ファイルの文字コードは実行の結果、「CRLF(\r\n)」を用いている事が分かりました。, fileコマンドでは(オプション指定の内容にも拠りますが)より詳細な文章形式でファイルの内容を確認する事が出来ます。, ファイルの内容表示を行うcatコマンドでも改行コードを確認する事が可能です。cat -eコマンドを実行する事で以下の様な形で改行コードの内容に応じて表示が為されますが、若干見辛い感はありますね...。, iconvコマンドはLinux/Unixコマンドで利用可能な文字コード変換用のコマンドです。, 実行例は以下。Shist_JISのファイルをUTF-8に変換する際は以下のような形で実行する事が出来ます。, ちなみにこちらのiconvコマンド、改行文字の変換までは行ってくれないようなので改行文字を含めた変換が必要となる場合は他のツールとの併用を検討すべきでしょう。, 名前からしてそのももズバリの両コマンド。Linux/Unix/Macでそれぞれ導入可能のようです。, 手元のMac OSX環境では片方(dos2unix)をインストールしたタイミングでもう片方(unix2dos)も導入出来てるようでした。, 見た感じこれらのコマンドでは改行コードのみ変換可能となっている様ですので、文字コード変換が必要となる場合は他ツールとの併用となりそうです。, まずは上記Linux/Unix環境で紹介したコマンドがWindows環境でも利用可能かどうか見てみたいと思います。, Windows環境の場合、PowerShellの機能を使う事で文字コード・改行それぞれを変換する事は可能のようです。以下に参考リンクを展開します。入出力ファイルそれぞれの仕様が決まった形であればこの選択肢も有力なものとなるのではないでしょうか。, という訳で、ファイルの文字コード・改行コード確認及び変換を行う時に利用可能な「コマンドラインツール」群のまとめご紹介でした。この他にも「こういう便利なツールがあるよ」とか「いや、そのツールはWindowsでも使えるぞ」とかありましたらご指摘・コメント頂けますと幸いです。適切なツールを適切なタイミングで活用してデータ移行・変換作業を効率良く行いたいものですね。, Linux基本コマンドTips(93):【 od 】コマンド――ファイルを8進数や16進数でダンプする - @IT, UNIX「ファイル ダンプ」コマンド(Hishidama's UNIX-command "od" Memo), Linux基本コマンドTips(12):【 file 】コマンド――ファイル形式を確認する - @IT, fileコマンドを使えばUTF-8のBOMの有無や改行コードがCRLFかどうかがチェックできる | オガリア 技術ブログ, Linux基本コマンドTips(1):【 cat 】コマンド――設定ファイルの内容を簡単に確認する - @IT, また一つ、新しい花の名前を覚えました。~出戻りプログラマの備忘録~ Linux上で改行コードを確認するコマンド, Linux基本コマンドTips(46):【 iconv 】コマンド――文字コードを変換する - @IT, Install dos2unix on Mac OSX – Mac App Store, How to identify and transform character codes of text files using nkf on Windows(Apr,2014), linux コマンドの、echo, cat, のようなことが、Windows のコマンドプロンプトでできないのか - まぁ、えぇんとちゃいますか~, 山市良のうぃんどうず日記(65):PowerShellのちょっとしたTips――改行コードを一括変換する (2/2) - @IT, PowerShell/ファイル操作/テキストファイルの入出力と文字コード - yanor.net/wiki, Windows版は存在せず。コマンドそのものの代替としてはechoやtypeが挙がるが、改行コード変換の機能は無い. データを調べたいのですが、 sqlplus USER_B/USER_B @DB_B @SQLPAT from tbl_b ・ 等のように分かりやすく表示できないでしょうか? 回答ありがとうございました。, 「コミット とは」に関するQ&A: SQL、2つのテーブルで条件一致したものだけdeleteする方法は?, 世の中の成功している男性には様々な共通点がありますが、実はそんな夫を影で支える妻にも共通点があります。今回は、内助の功で夫を輝かせたいと願う3人の女性たちが集まり、その具体策についての座談会を開催しました。, クライアントOS:WIN2000