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