我想在Oracle中創建一個唯一的時間戳,它應該檢查以前的時間戳並覆蓋它以前是否使用。我試圖在SQL Server中創建一個,但它不起作用。請幫忙我想在oracle中創建一個唯一的時間戳,它應該檢查以前的時間戳並覆蓋它以前是否使用過?
0
A
回答
0
我無法想象爲什麼你會想要做這樣的事情。您的要求似乎翻譯爲這個
create or replace function this_is_silly
return timestamp
is
t1 timestamp := systimestamp;
t2 timestamp := systimestamp;
begin
if(t1 = t2)
then
dbms_lock.sleep(0.01);
t2 := systimestamp;
end if;
return t2;
end;
也許不是你喜歡
create table all_timestamps_returned (
ts timestamp primary key
);
create or replace procedure get_a_new_timestamp(p_new_ts out timestamp)
as
l_ts timestamp := systimestamp;
begin
insert into all_timestamps_returned(ts)
values(l_ts);
p_new_ts := l_ts;
exception
when dup_val_on_index
then
dbms_lock.sleep(0.01);
get_a_new_timestamp(p_new_ts);
end;
這將迭代(可能在一個相當繁忙的系統多次),直到它發生得找東西一個獨特的時間戳或你耗盡你的最大遞歸限制。你可以使用一個循環迭代地實現它,但如果你重試了50次而沒有獲得唯一的時間戳,那麼你可能想要進行某種失敗保護。再次,我不確定爲什麼你想要這樣做,而不是認識到可以同時發生多個事件並使用序列來生成唯一密鑰。但你可以。
+0
函數(pl \ sql代碼)嗎?我的猜測是,@ gowtham_dontu意思是存儲函數產生的時間戳,並在隨後的調用中確保下一個時間戳與以前不同一。 –
相關問題
- 1. 如何檢查當前時間是否在oracle的兩個時間戳之間
- 2. 時間戳列表覆蓋之前的時間戳
- 3. 創建一個簡單的時間戳並測試它是否已過期
- 4. 如何檢查時間戳是否爲當前日期的時間戳
- 5. 如何檢測,如果時間戳記是在一定時間以前
- 6. 使postgresql時間戳唯一
- 7. 創建一個小時前的時間戳
- 8. 當前時間戳與之前時間戳之間的差異
- 9. 在Jenkinsfile中創建一個時間戳
- 10. Oracle Apex - 隨時間創建時間戳
- 11. 如何確定一個時間戳在postgresql中是否在另一個時間戳之前?
- 12. 時間戳和日期()拋出的錯誤,它不是一個時間戳
- 13. 在創建它之前檢查是否存在唯一值
- 14. 時間戳列 - 是否可以查詢?
- 15. 檢查日期時間字段是否通過當前時間戳
- 16. 它是什麼時間戳?
- 17. 當前時間戳
- 18. python pandas覆蓋時間戳
- 19. C#MySQLBulkLoader覆蓋時間戳
- 20. 如何檢查一個時間戳是否是整小時
- 21. 如何檢查時間戳是否是一個小時?
- 22. 在YouMax 2.0中使用時間戳創建時間戳
- 23. 使用創建的時間戳而不是當前日期MongooseJS
- 24. 舍入時間戳列以使它們涵蓋較大的時間
- 25. 前一天的Clojure Unix時間戳
- 26. 檢查時間戳是否在tsrange內
- 27. MonetDB是時間戳保證是唯一
- 28. PostgreSQL的當前時間戳
- 29. UNIX時間戳小時前
- 30. 使用JavaScript獲取唯一時間戳
我不確定什麼「獨特的時間戳」對您意味着什麼。時間戳本質上不是唯一的 - 兩個動作可能在同一時刻發生。你可以有一個單調遞增的序列並生成一個時間戳,比如說,在某個固定日期(1970年1月1日,2000年1月1日,1900年1月1日等)之後的毫秒數。這將是唯一的,但該領域不會真的告訴你什麼時候發生了什麼...... –
我需要創建一個這樣的功能 1)創建一個時間戳(p1),存儲當前時間戳 2)之後,它應該創建另一個時間戳(p2),它應該與p1比較,如果p1 = p2,函數應該創建一個新的延遲,如00.009秒 –
您想要一個函數生成兩個局部變量,將它們都分配爲'systimestamp',比較兩個局部變量,等待9毫秒,然後再次調用'systimestamp'來覆蓋第二個局部變量的值......最初,這兩個變量幾乎肯定會匹配(特別是如果你在Windows上運行的話) 。 –