PL/SQL技术问题问询:代码输出结果与语法合法性判断
Oracle PL/SQL 常见问题解答
问题1:执行DBMS_OUTPUT.PUT_LINE('God is' || NULL || NULL || 'Great')会输出什么内容?
在Oracle PL/SQL里,用||做字符串连接时,NULL会被直接当作空字符串处理,不会对拼接结果产生任何干扰。所以这条语句里的两个NULL相当于“透明”的存在,最终输出的内容是:
God isGreat
简单来说就是把'God is'和'Great'直接拼在了一起,中间的NULL完全被忽略。
问题2:语句DECLARE i, j, k NUMBER(2); 是否合法?
这个写法是完全合法的。在Oracle PL/SQL的声明块中,如果多个变量属于同一种数据类型(这里都是带精度限制的NUMBER(2)),可以用逗号分隔变量名,然后统一指定数据类型,这是符合PL/SQL语法规范的。
要是你觉得这种批量声明的写法不够直观,也可以拆成逐行声明的形式,两者功能完全一致:
DECLARE i NUMBER(2); j NUMBER(2); k NUMBER(2);
具体用哪种写法,全看你的代码风格偏好~
内容的提问来源于stack exchange,提问作者dhanalakshmi sugirtha
相关产品推荐
相关产品推荐

