㈠ 執行INSERT報錯,-302,資料庫工具執行沒問題
就是重名了,你把你存儲過程換個名就好了
比如
CREATE PROCEDURE dbo.do2_insert
CREATE PROCEDURE do2_action
你要是修改存儲過程的話
ALTER PROCEDURE dbo.do_insert
ALTER PROCEDURE do_action
就不用換名了
㈡ 我在oracle裡面創建一個存儲過程,往裡面插入數據,為什麼我個地方會報錯啊這個地方要怎麼用
這段代碼應該是2部分 ,--上面是存儲過程 --的下面是實行存儲過程的語句,你這種寫法類似於sqlSever的寫法,在Oracle的有可能執行不下去。把這兩段代碼放在兩個窗體里執行分開執行,就不會出錯了。
㈢ sql存儲過程動態Insert參數異常
檢查一下表 T_Score_1002的結構,很可能SubSemester列是varchar 類型的。必須保證觸發器和存儲過程中的@SubSemester變數的類型與表中SubSemester列的類型一致或者兼容。
㈣ 在oracle存儲過程時,出現錯誤:pls-00103:出現符號"insert"在需要下列之一時
as 後要寫begin
CREATE OR REPLACE PROCEDURE Bom(Oldid VARCHAR2,
Newid VARCHAR2,
USER VARCHAR2,
Company VARCHAR2) AS
begin
INSERT Cc_Record_Bom
SELECT Sys_Guid(),
Item,
Item_Class,
Item_d,
Item_d_Class,
Net_Qty,
Waste_Qty,
Total_Qty,
Bom_Ver,
Start_Date,
End_Date,
Newid,
Remark,
USER,
SYSDATE,
USER,
SYSDATE,
Company
FROM Cc_Record_Bom
WHERE Code = Oldid;
INSERT Cc_Stand_Bom
SELECT Sys_Guid(),
Item,
Item_d,
Net_Qty,
Waste_Qty,
Total_Qty,
Bom_Ver,
Start_Date,
End_Date,
Newid,
Remark,
USER,
SYSDATE,
USER,
SYSDATE,
Company,
Item_Class,
Item_d_Class
FROM Cc_Stand_Bom
WHERE Code = Oldid;
INSERT Cc_Wo_Bom
SELECT Item,
Item_d,
Net_Qty,
Waste_Qty,
Total_Qty,
Bom_Ver,
Start_Date,
End_Date,
Newid,
Remark,
USER,
SYSDATE,
USER,
SYSDATE,
Company,
Item_Class,
Item_d_Class
FROM Cc_Wo_Bom
WHERE Code = Oldid;
END Bom;
㈤ 請問這個oracle的insert的存儲過程執行為什麼報錯
執行語句是 exec procere_name
㈥ SQL存儲過程語句已經插入,可是為什麼還提示錯誤!
孤魂淚 正解~
樓主的那個是執行存儲過程時發生錯誤,都是你的insert語句執行成功了~
你存儲過程哪么多參數,居然一個都沒有給,ID是主鍵,不能為空,所以造成存儲過程執行失敗~
㈦ oracle insert欄位值中文單獨執行正常,存儲過程執行報錯ORA-06550
insert的字元串內容可以用兩個單引號進行轉意
㈧ 在oracle使用存儲過程進行插入數據報錯
你把select 語句挑出來,單獨運行一下,其中某一個數字欄位,應該是有字元的
也就是 to_number的欄位,有非數字的東西。轉不過來。
㈨ 用存儲過程往表裡面插入數據,總是報錯,還請大俠幫忙看下錯在哪裡
因為在編譯前oracle會檢查test表是否存在,如果不存在就提示無視圖。
建議先重建一下這個表,每次操作前先執行drop table操作,然後在執行create table操作,這樣就能通過編譯。
代碼如下:
CREATE OR REPLACE PROCEDURE UP_TEST(STRBEGIN VARCHAR2,
STREND VARCHAR2,
OCUR OUT SYS_REFCURSOR) IS
V_I INT;
V_J INT;
ISQL VARCHAR2(200);
DPTABLE VARCHAR2(200) := 'drop table test';
BEGIN
V_I := STRBEGIN;
V_J := STREND;
EXECUTE IMMEDIATE DPTABLE;
ISQL := 'create global temporary table test(sid int) on commit delete rows';
EXECUTE IMMEDIATE ISQL;
WHILE V_I <= V_J LOOP
INSERT INTO TEST VALUES (V_I);
END LOOP;
OPEN OCUR FOR
SELECT T.SID FROM TEST T;
END;
同時臨時表就是一個緩存數據的表,在執行提交操作的時候就被清空了,沒有必要每次都去新建然後刪掉,他佔用的存儲空間很少。
㈩ mysql 存儲過程執行insert無法插入數據求助
delimit $
CREATE PROCEDURE simpleproc (seq INT,farmer varchar(50),num INT)
BEGIN
declare i int;
set i=1;
while i<=300 do
insert inot table values(seq,farmer);
set i=i+1;
end while;
END $