• ベストアンサー

シーケンシャル番号

既存のテーブルのデータを全て削除し、 あらたに新しいデータを挿入しようとしていますが、 シーケンシャル番号を1からふりたいのですが、 SELECT setval('もともとのシーケンス',1); とするとシーケンシャルは2番目から始まってしまいます。 SELECT setval('もともとのシーケンス',0); とするとエラーになってしまいます。 スタート値を1からつけたいのですが、 どのようにしたらよいのでしょうか??

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

  • ベストアンサー
  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

SELECT setval ('"もともとのシーケンス"',1,false); 基本値の後がfalseの場合、基本値の値から始まります。 基本値の後がtrueの場合、基本値の次の値から始まります。 (指定がない場合、true)

aiurai54
質問者

お礼

なるほどっ!!さっそくやってみます。ありがとうございます。

その他の回答 (1)

  • EEshiba
  • ベストアンサー率29% (45/152)
回答No.1

seauenceの最小値の初期値は1なので SELECT setval('もともとのシーケンス',0); はエラーになります。 ALTER SEQUENCE もともとのシーケンス MINVALUE 0 とすれば、0が初期値としてセットできるので、 nextvalは1から取得できると思うのですが。 但し、今、手元に環境が無く、やってみていないので、自信はありません。

aiurai54
質問者

お礼

ありがとうございます。やってみます。

関連するQ&A

  • Accessで既存のテーブルにシーケンシャルのフィールドを追加したい場合。

    Accessで既存のテーブルにさらにフィールドを追加し、そのフィールドにシーケンシャル番号を追加したい場合はどのようにしたらよろしいのでしょうか?

  • 1レコードのデータを複数行に分け通し番号を付ける

    Access2010にて、1レコードのデータを複数行に分け、追番毎に通し番号を付ける方法がわからず困っています。 テーブル1の様に、1レコードにはデータ格納するカラムが4つしかなく、同じ追番でデータが5個以上ある場合は、次のレコードに同じ追番を入力して5個目以降のデータを格納しているテーブルがあります。 テーブル1 追番 カラム1 カラム2 カラム3 カラム4 1 データ1 2 データ1 データ2 データ3 データ4 2 データ5 データ6 データ7 3 データ1 4 データ1 ・ ・ ・ これをテーブル2の様に1レコードにデータ1個づつ格納し、追番毎の番号を振りたいと思います。 テーブル2 追番 番号 データ 1 1 データ1 2 1 データ1 2 2 データ2 2 3 データ3 2 4 データ4 2 5 データ5 2 6 データ6 2 7 データ7 3 1 データ1 4 1 データ1 ・ ・ ・ クエリ1の様なユニオンクエリで近いかたち(テーブル3)にできたのですが、同じ追番で番号が1~4まで埋まったら、5以降の番号を降る方法が分かりません。 クエリ1 SELECT 追番, 1 AS 番号, カラム1 AS データ FROM テーブル1 WHERE カラム1 Is Not Null UNION ALL SELECT 追番, 2 AS 番号, カラム2 AS データ FROM テーブル1 WHERE カラム2 Is Not Null UNION ALL SELECT 追番, 3 AS 番号, カラム3 AS データ FROM テーブル1 WHERE カラム3 Is Not Null UNION ALL SELECT 追番, 4 AS 番号, カラム4 AS データ FROM テーブル1 WHERE カラム4 Is Not Null; テーブル3 追番 番号 データ 1 1 データ1 2 1 データ1 2 1 データ5 2 2 データ2 2 2 データ6 2 3 データ3 2 3 データ7 2 4 データ4 3 1 データ1 4 1 データ1 ・ ・ ・ よろしくお願いします。

  • シーケンシャルファイルのデータを削除

    シーケンシャルファイルのデータを削除したいのです。 データ領域を完全に0Byteにしたいのですが 方法がわかりません。 よろしくお願いします。

  • MySQLでシーケンス番号の前後数を知りたい

    user_table ---------------------------- id | group_id | sequence| name | ---------------------------- 1 | 1 | 1 | emi | ---------------------------- 2 | 1 | 2 | shun | ---------------------------- 3 | 2 | 1 | yumi | ---------------------------- 4 | 1 | 5 | jo | … group_idごとにシーケンス番号(グループ内のユニーク番号)を振っています。 shun(group_id=1,sequence=2)のページでシーケンス番号の前後を取りたいのですがどうすればいいでしょうか? すでに辞めたユーザもいるためシーケンス番号は必ず連続しているとは限らず、抜けている場合もあります。 例として、shun(group_id=1,sequence=2)の前後を取る場合はemiとjoのシーケンス番号を取得したいのです。 下記で出来ましたがサブクエリなしでもできそうなのとあまりきれいでないのでご教示お願いいたします。 select (select min(sequence) from t_files where album_id=1 and sequence>2) next,( select min(sequence) prev from t_files where album_id=1 and sequence<2) prev;

    • ベストアンサー
    • MySQL
  • ORACLEでダミー行を作成したい

    いつも拝見させていただいております。 早速ですが質問させていただきます。  現在、ORACLEであるキーになっているコードがあり、それに対し てシーケンシャル番号が採番されているのですが、データとしては 01~99までこのテーブルに入ります。  ここでデータとしては存在していないシーケンシャル番号の00 番をダミーで作成したいのです。このようなSQLを作成した経験 がある方がいらっしゃいましたら、ご教授の程宜しくお願い致しま す。 開発環境  ORACLE 8.0.5  VB6.0 SP5

  • シーケンシャルアクセスについて

    シーケンシャルアクセスについて教えてください。 テキストファイルの内容が... *************************************************** aaa bbb ccc ddddd eeeee aあ  bbb ccc ddddd eeeee *************************************************** 空白の部分(aとbの間)にはタブが入っています このテキストファイルをアクセス2000において テーブルにインポートする場合 Open...AS #1 'テキストオープン set ... 'データベース・テーブルオープン input #1 rireki Mytable![項目名] = Mid(rireki, 1, 3) 上のような感じでテキストのデータをテーブルに取り込もうとすると 2行目の"aあ"の"あ"が全角なので"aあ"以外の空白も取り込んでしまいます どうすれば全角を半角2桁として取り出すことが出来ますか? 宜しくお願い致します。

  • AC2000のクエリで重複データから最新のデータだけ抽出したいのですが・・・(2)

    OSWINDOWS98SE AC2000 こんにちは、前回「AC2000のクエリで重複データから最新のデータだけ抽出したいのですが・・・」と言う質問をさせていただいて、教えていただいたSQLを使って色々とやってみたのですがどうしても2番のところで クエリ式'[主索引] delete 既存データA.* from 既存データA inner join 一時テーブル   on 既存データA.主索引 = 一時テーブル.主索引 insert into 既存データA(主索引,更新回数) select 更新データB.主索引'の構文エラー:演算子がありません。 と言うコメントがでてしまいさきに進むことが出来なくなってしまいました。 構文エラー?演算子がありません??他を探してみたのですが乏しい知識の範囲では解決を見つけることが出来ずまた、質問させていただいた次第です。 1番の一時テーブルは作成できるのですが、2番以降がうまくいきません どうかご教授お願いいたします。 1.更新データBから一時テーブルの作成 2.更新されているデータを予め削除する 3.既存データAへ追加データ、更新データをinsert 前回の質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=155505

  • 同じデータベース内で値の参照

    あるA,B,Cのテーブルがあり、 Aの主キーはシーケンシャル番号が振られています。 この値を参照し、B,Cのテーブルのフィールドに挿入したいのですが、 私のやり方は (1)まずAをInsertする (2)AでInsertしてできたシーケンシャル番号を取得し、 (3)BをInsertする (4)CをInsertする と少しややこしい方法しか思いつきませんでした。 何かよいアイデアがあれば教えていただけたら、ありがたいです。

  • 重複項目を取得するSQL分

    SQL分でわからないことがあるので質問させてください。 Aというテーブルに、 番号と処理通番(ユニーク)の2つカラムがあります。 Aテーブルから重複した番号とその処理通番を 上から4件まで取得したいのですが、 ----------------------------- SELECT A.番号,A.処理通番 FROM A INNER JOIN (SELECT 番号 FROM A GROUP BY 番号 HAVING COUNT(*) > 1) AS B ON (A.番号 = B.番号) ORDER BY A.番号,A.処理通番 ----------------------------- のSQLでは重複した番号のデータを 全て取得してしまいます。 番号別に4件まで取得したいのですが、 どのようなSQLを書けば取得できますか? よろしくお願いします。

  • ワード頁番号、これってどーして消えないの?

    ワード2000です。 1ファイルの中に6枚の頁があります。 1~3頁は、通常に改ページせずに作製し、4、5、6はセクション区切りで改ページしています。 ところが1~3だけ頁番号付したいのですが全てに付されてしまいます。1~6番です。 4~6の頁番号がどうしても消えません。ネット検索でヘッダー、フッターを表示させて4番を黒くして削除すると全ての番号が消えてしまいます。 どうしてですか?4~6を削除する方法ありませんか?