我已经研究过这个问题,并且已经为声明的替换变量正常工作,但是我无法正确计算BIND变量。我被告知它让SQL * PLUS和Oracle的开发人员感到困惑。这是我的第一个问题被正确回答,但BIND变量部分不起作用。 Learning Bind Variables Question用于矩形棱镜体积计算的PL/SQL BIND VARIABLES
所以我有代码,它使用替代变量计算矩形棱镜的体积,但想要使用像这样声明的BIND变量。我的教科书说,我必须使用PRINT并在结束后打印; /命令,并且不显示dbms_output,因此可能是一个问题。这不是一个非常实际的做事方式,我明白这一点。
SET SERVEROUTPUT ON
VARIABLE d_length NUMBER;
VARIABLE d_height NUMBER;
VARIABLE d_width NUMBER;
DECLARE
d_volume NUMBER;
BEGIN
:d_length := &q_length;
:d_height := &q_height;
:d_width := &q_width;
DBMS_OUTPUT.PUT_LINE('The length dimension is: ' || :d_length);
DBMS_OUTPUT.PUT_LINE('The height dimension is: ' || :d_height);
DBMS_OUTPUT.PUT_LINE('The width dimension is: ' || :d_width);
d_volume := :d_length * :d_height * :d_width;
DBMS_OUTPUT.PUT_LINE(
'The rectangular prism volume for the swimming pool is: '
|| d_volume);
END;
/
所以我的问题是,如何得到它的使用绑定变量的,在这里我把变量块作为变量外出打工,然后声明d_volume,执行计算,并打印出游泳池的容积使用这些绑定变量。我在这附近,但有些事情是关闭的。它打印出dbms_output语句,但不显示任何变量。
绑定变量是SQL语句中的占位符。这里没有SQL,所以它根本不清楚你的最终目标是什么。 – APC