http://www.mitene.or.jp/~rnk/index.htm ようこそRNKのホームページに。 このサイトは日ごろVBを使用していてちょっと役に立つのではないかと思う小ネタを集めてみました。訪れていただいた皆さんの参考になれば幸いです。 VisualBasicはVersion6.0(SP5.0)を想定しています。今後はSQL(Oracle PL/SQL)についてや、Z80アセンブラ等についていろいろ載せていこうと思っています。… Read More


Logged tree under 556: PRESERVE BLANKS は、カラムに指定するものではありません。 SQL*LOADERはデフォルト動作で空白文字の切捨てを行います。 これをさせないようにするには制御ファイル内で LOAD DATA INFILE ‘c:\a.txt’ APPEND PRESERVE BLANKS INTO TABLE aaa FIELDS TERMINATED BY ‘,’ TRAILING NULLCOLS … のように「PRESERVE BLANKS」を指定します。ただし、この指定は全ての列に対して適用 されますから、場合によっては不要な空白文字列を取り込むおそれがあります。 適宜、SQL文字列でTRIM関数を使うなどしてください。… Read More


sql*plusのLOGファイル制限 dbms_output.enable( null ); を実行した結果、上限なしになったようです。 当然のことながら、未サポートですが、 テストや、デバック関連、ツール類で使えそうです。… Read More


リンク: 使用正规表达式编写更好的 SQL(oracle) – 30代的挨踢人. 今のSQLはすごい! 使用正规表达式编写更好的 SQL 作者:Alice Rischert Oracle Database 10g 中的正规表达式特性是一个用于处理文本数据的强大工具 Oracle Database 10g 的一个新特性大大提高了您搜索和处理字符数据的能力。这个特性就是正规表达式,是一种用来描述文本模式的表示方法。很久以来它已在许多编程语言和大量 UNIX 实用工具中出现过了。 Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的。如果您不熟悉正规表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上有点神秘的功能。已经对正规表达式很熟悉的读者可以了解如何在 Oracle SQL 语言的环境中应用这种功能。 什么是正规表达式? 正规表达式由一个或多个字符型文字和/或元字符组成。在最简单的格式下,正规表达式仅由字符文字组成,如正规表达式 cat。它被读作字母 c,接着是字母 a 和 t,这种模式匹配 cat、location 和 catalog 之类的字符串。元字符提供算法来确定 Oracle 如何处理组成一个正规表达式的字符。当您了解了各种元字符的含义时,您将体会到正规表达式用于查找和替换特定的文本数据是非常强大的。 验证数据、识别重复关键字的出现、检测不必要的空格,或分析字符串只是正规表达式的许多应用中的一部分。您可以用它们来验证电话号码、邮政编码、电子邮件地址、社会安全号码、IP 地址、文件名和路径名等的格式。此外,您可以查找如 HTML 标记、数字、日期之类的模式,或任意文本数据中符合任意模式的任何事物,并用其它的模式来替换它们。 用 Oracle Database 10g 使用正规表达式 您可以使用最新引进的 Oracle SQL REGEXP_LIKE… Read More


SQL*Loader CSVファイルからOracleのテーブルへデータを流し込むツール。 大量のinsert文を発行するよりは、断然高速。 データであるCSVファイルや固定長ファイルと、ロード方法を指定するコントロールファイルを用意 して実行する。 (CSVファイルからのロードはこのSQL*Loaderが使えるが、CSV出力には標準的な方法は無いらしくて、select文で加工する方法がよく使われるらしい。 このSQL文をいちいち書くのは少々面倒なので、SQL生成用Excelマクロを作ってみました)… Read More


リンク: バッチで実行するSQLファイルにパラメタを与える方法. Oracleでパッチ実行方法:    パラメタが渡せるということを教えて頂き、それをきっかけにいろいろ調査した結果、以下で動作できることを確認しました。    まず、実行するバッチファイル(ORA_SQL.BAT)は、    *******************************************    echo on    C:\Oracle\Ora81\bin\SQLPLUS Userid/Password@接続文字列 @D:\Sql\OraEX.SQL %1    %2    *******************************************    とします。    OraEX.SQLの内容は以下の通りに修正します。    *******************************************    spool D:\TextLog\A_SYOHIN.log    Set echo on    SELECT COUNT(*) FROM A_SYOHIN    WHERE M_DATE BETWEEN &1 AND &2;    spool off;     (↑引数部分を”%1″、”%2″では    exit;          なく、”&1″、”&2″とする)    *******************************************  … Read More