• 締切済み

1ファイルを複数ファイルに分割したい

CREATE TABLE 001 ( ) CREATE TABLE 002 ( ) ・ ・ ・ CREATE TABLE 999 ( ) という一つのファイル(total.sql)に 複数のたくさんのCREATE TABLE文が記述されています。 このファイルの中身を分割して、 001.sql、002.sql、・・・、999.sqlという風に 各テーブル名のファイルで作成しなおしたいです。 手作業でやると膨大な時間がかかってしまいます。 これをシェル、あるいはプログラミングで実装したいのですが、 どう書いたら良いでしょうか? 御詳しい方、どうか御願い致します。

みんなの回答

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

雰囲気で ruby 書いてみた ------ deliminator = /CREATE TABLE (.*) \(/ sqlfile = nil while gets   if $_ =~ deliminator    sqlfile.close if sqlfile    sqlfile = open("#$1.sql", "w")   end   sqlfile << $_ end sqlfile.close if sqlfile ------ 超テキトウだから仕事とかで使わないように。

関連するQ&A

  • PostgreSQLの列分割(水平分割)について

    PostgreSQLで次のテーブルを作るとして create table test1(id int , name text , pass text , img bytea , dates date); このテーブルをパーティショニングしたいと思っています。 水平分割(dates列の値によって行をパーティショニング)についてのSQL文は、公式ドキュメントに例示されていたため理解したのですが、 垂直分割(列自体を分割)する設計のテーブルを作成する場合について調べているのですが、見つけることができませんでした。 id,name,pass,dateのテーブルと、id,imgのテーブルにパーティショニングするSQL文についてご教授願えないでしょうか

  • シェルでファイルを読み込む

    こんにちわ。ちょっと今つまっていることがあるので質問させていただきます。 現在、PL/SQLで作成したセレクト文のテーブルと主キーをシェルを使いファイルから引数を読み出す、ということをやりたいと考えています。 また、テーブルは12、主キーは膨大な数なので引数を定数にするとあまりにも時間がかかってしまうので、ファイルから読み込めば(元になるファイルはある)シェルの中でごちゃごちゃやらなくてもいいと考えたのですが、ファイルを読み込むというところで詰まってしまっています。 なお、ファイルは テーブル名 主キー test_01 20061017 test_02 20061018 というようになっています。 どなたかよい方法を教えてもらえないでしょうか? 以上、よろしくお願いします。

  • SQLファイルの読み込み

    PHP上にSQL文を書くことはできますがSQLファイルを読み込むことはできるのでしょうか? 例えばSQL上では %\i create.sql のように実行してテーブルを作りますがこれを同じようにPHP上で $conn = pg_connect("host=localhost dbname=**** user=****"); $query = "\i create.sql"; pg_query($conn, $query); と記述してもエラーになってしまいます。 PHP上ではそもそも読み込みはできないのでしょうか? それとも文字型の指定などが間違っているのでしょうか?

    • 締切済み
    • PHP
  • バッチファイル作成

    WindowsにMySQLを入れました。そこに、データベースやテーブルの作成をコマンドプロンプトからではなく、バッチで実行したいのですが、とりあえず、create database。sql と create table のテキストファイルは、作ったものの、どうしたらいいのかわかりません。教えてください。

    • ベストアンサー
    • MySQL
  • オラクルのテーブルについて

    質問があります。 SQL文で指定したテーブル(test_tbl)のCREATEされた 日時とかわかるようなものはないでしょうか? たとえばテーブル (table_a, table_b, teble_c:全て同じ構成だが格納データが異なる)が あって一番最後に作成されたテーブルに アクセスしたい場合なんですが どのようなSQL文になるでしょうか? またそんな事はSQLではかけないような場合、 どのようにすればテーブルのクリエート日付を取得 することができるでしょうか? 宜しくお願いいたします。

  • 複数キーワードでのあいまい検索

     たびたびお世話になります。  PHPファイルのテキストボックスに入力された文字列でテーブルを検索して結果を取得したいのですが、複数キーワードでのあいまい検索の扱いで困っています。  例えばtitleというカラムにある「今日はいい天気です」という文を検索したい場合は、PHPからSQL文で「select * from table where title like '%天気%';」とやれば引っかかるのですが、では「今日 天気」でやった場合、また「いい 今日」で検索した場合も引っかかるようにしたいのです。  PHPで文字列を代入してSQL文を作る形になるとは思うのですが、この場合、SQL文はどのように記述すればいいのでしょうか?

  • AccessのテーブルをSQL文にしたい

    urizakaです。 さて、今回質問したいのは、Accessで作ったテーブルをSQL文にする方法です。 具体的には、ACCESSで作ったテーブルを、 CREATE TABLE ××× (              ) INSERT… というSQL文にしたいのですが、これはどうすれば良いのでしょうか? すみませんが、教えてください。            

  • MySQL show create table ~と同じOracleでのSQL文

    Mysqlでテーブルを作成するステートメントを表示するSQL文 ” SHOW CREATE TABLE テーブル名”に該当する、oracleの SQL文ってありますか?

  • アクセスVBAのSQLについて

    (1)テキストファイルに記述したSQL文のセットをVBAで実行するコマンドはありますか? (2)テーブルを作成する際の、DB指定は 「create table "DB名"."テーブル名"…」としたらよいでしょうか (3)"DB名". を省略できるのはどのような場合ですか? (4)Docmd.RunSQL "" で一度に複数のSQL文を実行できますか? よろしくお願いします。m(_ _)m

  • 複数のCSVファイルの一括インポートについて

    CSVファイルをインポートしたいと思っているのですが、 複数のファイルをいっぺんに複数のテーブルにインポートする方法が わからず困っています。200行8列の2000ファイルを、 テーブル1,テーブル2,テーブル3・・・・テーブル2000にそれぞれ 1ファイルずつを一回のSQL文でインポートするやり方です。 毎日ほぼ同じ量のデータをインポートする必要がありますので、 2000ファイルをファイル名などの固有の情報を付加し連結して、 1ファイルにしてしまい、1テーブルにインポートする方法だと SELECT文をかけたときに取得する時間がとてもかかってしまうような 気がしますので、、、

    • ベストアンサー
    • MySQL

専門家に質問してみよう