【发布时间】:2011-05-12 02:21:10
【问题描述】:
我正在尝试在 SQL Developer 中调试一个包。我尝试调试的方法需要 2 个参数
PROCEDURE procedure_name (dblink IN CHAR, bDebug IN BOOLEAN DEFAULT FALSE)
当我单击“调试”图标时,它会询问我需要为此过程提供的输入。我给了
dblink:='linkname';
bDebug:=TRUE;
但是当它开始调试时,我看到 dblink 的值为
'linkname
'
即链接名,很多空格,然后是结束引号。所以当我在代码中尝试这样做时
`strSrc VARCHAR(120) := 'tablename'||dblink;`
它给我的错误是缓冲区太小,这是有道理的。但是为什么 SQL Developer 会这样做呢?如何解决?
【问题讨论】:
-
参数声明为
CHAR而不是VARCHAR2是否有原因?我怀疑这就是填充的来源。 -
我不知道为什么它被声明为
CHAR而不是VARCHAR。但它在生产中,所以我不认为我可以为当前调试更改它----我唯一关心的是填充。
标签: oracle debugging plsql oracle-sqldeveloper plsqldeveloper