Şemayı yönetmek için likidibis kullanıyorum. Bir sürü ekleme ifadem var. Birincil kimlik numaralarını kodladım. Tüm eklerim tamamlandıktan sonra, sıra değerini tablodaki birincil anahtarın maksimum değerinden 1 daha fazla değiştirmek istiyorum. Bunun için aşağıda verilen bir PL/SQL yazdım. Dışarı eksik Executed "ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY 71"
Oracle: Diziyi belirli bir değere ayarlama
şey - Ancak, ne zaman select ArtifactTypes_id_seq.nextval from dual;
hala DBMS_OUTPUT çıkışı takip verir 0.
SET SERVEROUTPUT ON SIZE 1000000
DECLARE
sequence_id NUMBER;
BEGIN
SELECT NVL(MAX(idArtifactType), 0) + 1 INTO sequence_id FROM ArtifactTypes;
EXECUTE IMMEDIATE 'ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY ' || sequence_id;
EXECUTE IMMEDIATE 'SELECT ArtifactTypes_id_seq.nextval FROM dual';
EXECUTE IMMEDIATE 'ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY 1';
DBMS_OUTPUT.put_line('Executed "ALTER SEQUENCE saas.ArtifactTypes_id_seq INCREMENT BY ' || sequence_id || '"');
END;
/
artırır yürütmek? Yanlış yolu mu yapıyorum? Not: Bu SQL'leri SQLDeveloper'dan çalıştırmayı denedim.