我正在使用SQl Developer在名为CONTRACTOR_REG的包中执行过程。该程序具有以下标志。
PROCEDURE usp_ins_contractor_all(
webid VARCHAR2,--
firstname VARCHAR2,--
lastname VARCHAR2,--
middlename VARCHAR2,--
busname VARCHAR2,--
townname VARCHAR2,--
strname VARCHAR2,--
strtypecd VARCHAR2,--
strpfxcd VARCHAR2,--
strsfxcd VARCHAR2,--
addressoverflo VARCHAR2,--
houseno VARCHAR2,--
zipcd VARCHAR2,--
state VARCHAR2,--
phonenum VARCHAR2,--
phonenight VARCHAR2,
phonecell VARCHAR2,--
phonefax VARCHAR2,--
phonepager VARCHAR2,
licno VARCHAR2,--
regSite VARCHAR2,
licstate VARCHAR2,--
level_type VARCHAR2 := 'NA',--
type_cd CHAR)
我正在尝试执行以下操作:
exec user1.contractor_reg.usp_ins_contractor_all('testing12345',
'test',
'me',
'a',
'testbiz',
'DFGGH',
'something',
null,
null,
null,
'pobox:12345',
'45',
'00000',
'DF',
'1231231231',
'2342342344',
'443243242',
'111111111',
null,
'123123123',
null,
'FD',
'NA',
'EC')
我收到以下错误:
Error starting at line 25 in command:
'EC')
Error report:
Unknown Command
对我来说似乎很随机,我的上一个参数有什么问题?
提前致谢!
答案 0 :(得分:4)
您的回复中提到的原因可能不是错误的原因。
正如Alex在下面提到的,要将EXEC与SQLPLUS一起使用,如果你的命令跨越多行,你需要使用延续字符...
http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch12022.htm#i2697931
EXEC是一个SQLPLUS命令。当你使用..
exec p1;
在sqlplus中,它又会添加一个开始和结束块来执行你的程序...
begin
p1;
end;
/
不确定SQL Developer是否支持此功能。我无法访问SQL Developer,但是..
您是否尝试过使用BEGIN-END执行此程序?
begin
user1.contractor_reg.usp_ins_contractor_all('testing12345',
'test',
'me',
'a',
'testbiz',
'DFGGH',
'something',
null,
null,
null,
'pobox:12345',
'45',
'00000',
'DF',
'1231231231',
'2342342344',
'443243242',
'111111111',
null,
'123123123',
null,
'FD',
'NA',
'EC');
end;
/
答案 1 :(得分:1)
显然,你不能像我一样在每个参数之间换行......愚蠢的程序......
exec user1.contractor_reg.usp_ins_contractor_all('testing12345','test','me','a','testbiz','sdfsdf','something',null,null,null,'pobox:12345', '45','00000','sdfff','1231231231','2342342344','443243242','111111111',null,'123123123',null,'sdff','E1','EC')