我試圖從select語句中插入一些數據到表中。我知道我能做到這一點是這樣的:Oracle SQL,在單獨的選擇查詢中使用序列
insert into new_logs (idLog, logEntry)
(select idLog, logEntry from old_logs)
但是,我想執行這種類型的查詢時,當我需要在一個序列值傳遞運行到一個問題:
insert into new_logs (idLog, logEntry)
(select LOGSEQ.NEXTVAL, logEntry from old_logs)
我認爲問題是因爲序列來自雙表,但上面的查詢意味着它來自old_logs表。
我也試過這個,
insert into new_logs (idLog, logEntry)
select next_value for LOGSEQ, logEntry from old_logs
但我仍然不能得到它的工作。有人可以告訴我,我想要做什麼是可能的嗎?我想要做的就是使用選擇查詢和 在另一個架構上運行插入語句。
它總是有幫助的指定你做了什麼錯誤,而不是希望我們能正確猜出。你是說'logseq'是一個由你正在運行'INSERT'語句的用戶擁有的序列嗎?您的用戶是否有權使用序列?如果是這樣,除非要爲序列創建同義詞,否則需要一個完全限定的對象名稱。 –
它應該工作。你會得到什麼錯誤。序列不是來自任何表格。它是一個獨立的對象。 –
該錯誤表示「序列號不允許在這裏」,但是我重寫了該查詢並從頭開始工作。我想我在這裏輸入的內容與我運行的內容不匹配,所以我很抱歉 – myworkaccount