ALTER SEQUENCE - Amazon Aurora DSQL

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ALTER SEQUENCE

ALTER SEQUENCE— mengubah definisi generator urutan.

penting

Saat menggunakan urutan, nilai cache harus dipertimbangkan dengan cermat. Untuk informasi selengkapnya, lihat info penting di CREATE SEQUENCE halaman.

Untuk panduan tentang cara terbaik menggunakan urutan berdasarkan pola beban kerja, lihat. Bekerja dengan urutan dan kolom identitas

Sintaksis yang didukung

ALTER SEQUENCE [ IF EXISTS ] name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ [ NO ] CYCLE ] [ START [ WITH ] start ] [ RESTART [ [ WITH ] restart ] ] [ CACHE cache ] [ OWNED BY { table_name.column_name | NONE } ] ALTER SEQUENCE [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER SEQUENCE [ IF EXISTS ] name RENAME TO new_name ALTER SEQUENCE [ IF EXISTS ] name SET SCHEMA new_schema where cache is 1 or cache >= 65536

Deskripsi

ALTER SEQUENCEmengubah parameter generator urutan yang ada. Parameter apa pun yang tidak secara khusus ditetapkan dalam ALTER SEQUENCE perintah mempertahankan pengaturan sebelumnya.

Anda harus memiliki urutan untuk digunakanALTER SEQUENCE. Untuk mengubah skema urutan, Anda juga harus memiliki CREATE hak istimewa pada skema baru. Untuk mengubah pemilik, Anda harus SET ROLE dapat memiliki peran baru, dan peran itu harus memiliki CREATE hak istimewa pada skema urutan. (Pembatasan ini memberlakukan bahwa mengubah pemilik tidak melakukan apa pun yang tidak dapat Anda lakukan dengan menjatuhkan dan membuat ulang urutan. Namun, superuser dapat mengubah kepemilikan urutan apa pun.)

Parameter

name

Nama (opsional schema-qualified) dari urutan yang akan diubah.

IF EXISTS

Jangan melempar kesalahan jika urutannya tidak ada. Pemberitahuan dikeluarkan dalam kasus ini.

increment

Klausul INCREMENT BY increment ini opsional. Nilai positif akan membuat urutan naik, yang negatif menjadi urutan menurun. Jika tidak ditentukan, nilai kenaikan lama akan dipertahankan.

minvalue / NO MINVALUE

Klausa opsional MINVALUE minvalue menentukan nilai minimum yang dapat dihasilkan oleh urutan. Jika NO MINVALUE ditentukan, default 1 dan nilai minimum tipe data untuk urutan naik dan turun, masing-masing, akan digunakan. Jika tidak ada opsi yang ditentukan, nilai minimum saat ini akan dipertahankan.

maxvalue / NO MAXVALUE

Klausa opsional MAXVALUE maxvalue menentukan nilai maksimum untuk urutan. Jika NO MAXVALUE ditentukan, default dari nilai maksimum tipe data dan -1 untuk urutan naik dan turun, masing-masing, akan digunakan. Jika tidak ada opsi yang ditentukan, nilai maksimum saat ini akan dipertahankan.

CYCLE

Kata CYCLE kunci opsional dapat digunakan untuk mengaktifkan urutan untuk membungkus ketika maxvalue atau minvalue telah dicapai oleh urutan naik atau turun masing-masing. Jika batas tercapai, nomor berikutnya yang dihasilkan akan menjadi minvalue ataumaxvalue, masing-masing.

NO CYCLE

Jika kata NO CYCLE kunci opsional ditentukan, panggilan apa pun nextval setelah urutan mencapai nilai maksimumnya akan mengembalikan kesalahan. Jika tidak NO CYCLE ada CYCLE atau ditentukan, perilaku siklus lama akan dipertahankan.

start

Klausa opsional START WITH start mengubah nilai awal urutan yang direkam. Ini tidak berpengaruh pada nilai urutan saat ini; itu hanya menetapkan nilai yang akan digunakan ALTER SEQUENCE RESTART perintah future.

restart

Klausa opsional RESTART [ WITH restart ] mengubah nilai urutan saat ini. Ini mirip dengan memanggil setval fungsi dengan is_called =false: nilai yang ditentukan akan dikembalikan oleh panggilan berikutnya darinextval. Menulis RESTART tanpa restart nilai setara dengan memasok nilai awal yang direkam oleh CREATE SEQUENCE atau terakhir ditetapkan olehALTER SEQUENCE START WITH.

Berbeda dengan setval panggilan, RESTART operasi pada urutan bersifat transaksional dan memblokir transaksi bersamaan dari mendapatkan nomor dari urutan yang sama. Jika itu bukan mode operasi yang diinginkan, setval harus digunakan.

cache

Klausul CACHE cache ini memungkinkan nomor urut untuk dialokasikan sebelumnya dan disimpan dalam memori untuk akses yang lebih cepat. Nilai harus berupa 1 atau beberapa nilai >= 65536. Jika tidak ditentukan, nilai cache lama akan dipertahankan. Untuk informasi selengkapnya tentang perilaku cache, lihat panduan di bawahCREATE SEQUENCE.

OWNED BY table_name.column_name / OWNED BY NONE

OWNED BYOpsi ini menyebabkan urutan dikaitkan dengan kolom tabel tertentu, sehingga jika kolom itu (atau seluruh tabelnya) dijatuhkan, urutan akan secara otomatis turun juga. Jika ditentukan, asosiasi ini menggantikan asosiasi yang ditentukan sebelumnya untuk urutan tersebut. Tabel yang ditentukan harus memiliki pemilik yang sama dan berada dalam skema yang sama dengan urutannya. Menentukan OWNED BY NONE menghapus asosiasi yang ada, membuat urutan “berdiri bebas”.

new_owner

Nama pengguna dari pemilik baru urutan.

new_name

Nama baru untuk urutan.

new_schema

Skema baru untuk urutan.

Catatan

ALTER SEQUENCEtidak akan segera mempengaruhi nextval hasil di backend, selain yang sekarang, yang memiliki nilai urutan yang telah dialokasikan sebelumnya (di-cache). Mereka akan menggunakan semua nilai yang di-cache sebelum memperhatikan parameter pembuatan urutan yang diubah. Backend saat ini akan segera terpengaruh.

ALTER SEQUENCEtidak mempengaruhi currval status untuk urutan.

ALTER SEQUENCEdapat menyebabkan transaksi lain ke OCC.

Untuk alasan historis, ALTER TABLE dapat digunakan dengan urutan juga; tetapi satu-satunya varian ALTER TABLE yang diizinkan dengan urutan setara dengan bentuk yang ditunjukkan di atas.

Contoh

Mulai ulang urutan yang disebutserial, pada 105:

ALTER SEQUENCE serial RESTART WITH 105;

Kompatibilitas

ALTER SEQUENCEsesuai dengan standar SQL, kecuali untuk,,,,AS, dan SET SCHEMA klausa START WITH OWNED BY OWNER TORENAME TO, yang merupakan ekstensi PostgreSQL.