我正在尝试更新Oracle中的一个包,来自sql Server,这一直令人困惑.
@H_502_7@
@H_502_7@我编写了一个批处理文件,首先运行.spec文件,然后运行.body文件,但即使手动运行它也不起作用.
@H_502_7@我用这个语法:
@H_502_7@
sqlplus username/password@databasename @c:\temp\myfile.spec sqlplus username/password@databasename @c:\temp\myfile.body@H_502_7@当我回到sql Developer时,我可以查看包中的存储过程,看看它们还没有更新. @H_502_7@为什么我的包裹没有更新?
解决方法
规范和正文文件需要/ make sql * Plus创建/替换对象.
@H_502_7@
@H_502_7@没有/:
@H_502_7@
CREATE OR REPLACE PACKAGE TEST12_13 AS PROCEDURE TEST12_13; END;
STAGE@DB>@C:\TEST.PKS 6@H_502_7@随着/: @H_502_7@
CREATE OR REPLACE PACKAGE TEST12_13 AS PROCEDURE TEST12_13; END; /
STAGE@DB>@C:\TEST.PKS Package created.@H_502_7@在回复您关于将filename作为参数传递的注释时,请让sql * Plus向您询问文件名,而不是将文件名作为参数传递 @H_502_7@
wrapper.sql ACCEPT filename_var Prompt 'Enter filename' @c:\temp\&filename_var / @c:\temp\&filename_var /