当前位置:首页 » 服务存储 » 存储过程执行insert报错
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储过程执行insert报错

发布时间: 2022-09-22 10:51:18

㈠ 执行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 $