2014-08-31 68 views
-3

這個SQL有意義嗎?插入一個序列?

CREATE SEQUENCE order_id_sequence 
START WITH 310; 

INSERT INTO order_id_sequence VALUES (150); 
+11

不,你想達到什麼樣的效果?一個序列是一個對象,它爲您提供升序數字,而不是相反。我認爲這是Oracle? – Ben 2014-08-31 17:55:21

+0

謝謝你想知道這是否是一個有效的陳述 – 2014-09-01 02:45:02

+0

你是否試圖按照Bob的建議將一個序列增加150作爲一次性操作? – Ben 2014-09-01 05:06:22

回答

0

你通常會使用一個序列的方式是從它選擇下一個連續的值:

SELECT ORDER_ID_SEQUENCE.NEXTVAL FROM DUAL; 

或者在PL/SQL,你可以下一個值只是分配給一個變量:

DECLARE 
    nSeq_value NUMBER; 
BEGIN 
    nSeq_value := ORDER_ID_SEQUENCE.NEXTVAL; 

    -- ...etc etc etc... 
END; 

是可能的改變的序列改變的最小值:

ALTER SEQUENCE ORDER_ID_SEQUENCE MINVALUE 150; 

但是,如果要更改序列返回的'next'值,唯一的方法是刪除序列並重新創建它。

分享和享受。

0

沒有驗證。你可以在測試環境中嘗試它。實際上,在問這裏問題之前,自己測試是一個好方法。