私は、新しい行ごとに1ずつインクリメントする一意のコードを生成することが期待されるコードを生成するためのPostgresでシーケンスを作成する必要があることに気付きました。 6桁のパターンに従う必要があります。例えばPostgresで非数値シーケンスを作成する
、最初の2つの文字は文字であり、残りの整数で
AC0001
AC0040
AC0201
AC3421
。
私はテーブルを作成し、
CREATE TABLE account
(
code VARCHAR NOT NULL DEFAULT 'AC'||nextval('code_sequence'::regclass)::VARCHAR,
desc VARCHAR
);
のようなこれはAC1、AC2などとしてコードを生成します。しかし、私は、コードを持っているしたい、そして、第1
CREATE SEQUENCE code_sequence START WITH 1
INCREMENT BY 1
CACHE 1;
をシーケンスを作成しましたAC0001、AC0002。 'AC'の直後にゼロを「パッド」しようとしています。 この問題の解決策またはアイデアがあれば、私は感謝します。
CREATE TABLE account
(
code VARCHAR NOT NULL DEFAULT 'AC'||to_char(nextval('code_sequence'), 'FM0000'),
"desc" VARCHAR
);