oracle 调用存储过程语句问题

调用存储过程:declarestudent1varchar2(20);studentvarchar2(20);beginP_EXPORTDATA('student1','... 调用存储过程:
declare
student1 varchar2(20);
student varchar2(20);
begin
P_EXPORTDATA('student1','student');
end;
ORA-00904: "C": invalid identifier
ORA-06512: at "DMC.P_EXPORTDATA", line 6
ORA-06512: at line 7
存储过程的是两个传入参数,都是表名
不能正确执行,是不是我写的存储过程有问题啊,大家来看下
CREATE OR REPLACE PROCEDURE P_EXPORTDATA(TAB1 IN VARCHAR2,
TAB2 IN VARCHAR2) IS
V_SQL VARCHAR2(2000);
BEGIN
V_SQL := 'INSERT INTO ' || TAB1 || '(c1,c2,c3) SELECT a,b,c FROM ' || TAB2;
execute immediate V_SQL;
END P_EXPORTDATA;
展开
 我来答
whmng
推荐于2018-05-15 · TA获得超过664个赞
知道小有建树答主
回答量:290
采纳率:100%
帮助的人:208万
展开全部
exec P_EXPORTDATA('student1','student');
或是
declare
v_student1 varchar2(20);
v_student varchar2(20);
begin
v_student1:='student1';
v_student:='student';
P_EXPORTDATA(v_student1,v_student);
end;
更多追问追答
追问
不可以的哦,报的还是跟以上的错误是一样的。我的怎么不能用第一种方法调用呢,总报错
追答
你的过程原来的参数变量是什么数据类型
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
523203144sina
2011-06-19
知道答主
回答量:16
采纳率:0%
帮助的人:11万
展开全部
P_EXPORTDATA("student1","student");
Try again
追问
试过是用双引号的 不可以的
是不是我的存储过程有问题啊 CREATE OR REPLACE PROCEDURE P_EXPORTDATA(TAB1 IN VARCHAR2,
TAB2 IN VARCHAR2) IS
V_SQL VARCHAR2(2000);
BEGIN
V_SQL := 'INSERT INTO ' || TAB1 || '(c1,c2,c3) SELECT a,b,c FROM ' || TAB2;
execute immediate V_SQL;
END P_EXPORTDATA;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d18b5ab
2011-06-19 · TA获得超过349个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:101万
展开全部
是表名还是字段名呀??
如果是表名的话,那它应该是一个游标类型的呀,应该表存储的是一个表结构呀,怎么能是VARCHAR2类型的呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式