oracle - oracle:参数默认值不显示
问题描述
我写了这个程序:
create or replace PROCEDURE num_mandati ( persona IN parlamento2018.parlamentari.cf%type default '1234567890ABCDEF') IS
nomePersona parlamentari.nome%type;
cognomePersona parlamentari.cognome%type;
n_codfis NUMBER := 0;
nessunParlamentare EXCEPTION;
BEGIN
dbms_output.put_line('persona: ' ||persona);
END num_mandati;
在程序体中有一条输出指令,但不显示参数“persona”的默认值。parlamentari 表的cf 列的类型是varchar2(16)。为什么不显示参数的值?
解决方案
在不知道您调用该过程的方式的情况下,我看到了两个可能的原因:您没有SET SERVEROUTPUT ON
或您传递了一个NULL
值:
SQL> exec num_mandati;
PL/SQL procedure successfully completed.
SQL> SET SERVEROUTPUT ON
SQL> exec num_mandati;
persona: 1234567890ABCDEF
PL/SQL procedure successfully completed.
SQL> exec num_mandati('');
persona:
PL/SQL procedure successfully completed.
SQL>
推荐阅读
- python - Visual Studio Code 中的红色三角形是什么意思?
- qaf - 底层驱动程序是控制台中的 QAFExtendedWebDriver 错误
- uitextview - 带有 contentInset 的 UITextView:文本输入导致内容跳转
- c# - .NET Core AddHttpClient 动态配置
- javascript - 如何从更改功能中获取 JqueryUI Selectmenu 中的选定值?
- ios - 快速,如何管理同一个自定义表格视图单元格中的两个按钮?
- git - 是否有任何 GIT 命令来查找分支列表及其创建者及其最后修改日期
- typescript - 如何在 Vue & TypeScript 应用中正确的全局注册 axios
- azure - Azure Sentinel RBAC - 最佳实践
- c - tcpi_rcv_mss 是什么意思?