PL/SQL 创建 returns 两个字符串值的过程
PL/SQL Create procedure which returns two string values
我是 SQL 的新手,我正在尝试创建一个包含 6 个字符的字符串的过程,例如。 'POLICE' 然后将 return 两个子字符串值,例如。 'POL'、'ICE'
这是我目前尝试过的方法:
procedure split_string(inputString in string, substr1 in OUT string, substr2 in OUT string)
is
begin
substr1 := SUBSTR(inputString, 1, 3);
substr2 := SUBSTR(inputString, 4, 3);
end split_string;
但是这不起作用,我也不确定如何调用此函数并在代码的其他地方使用它的值。
是不是这样的:
split_string('POLICE') ?
使用这个:
CREATE OR replace procedure split_string(inputString in varchar2,
substr1 IN OUT varchar2,
substr2 IN OUT varchar2
)
As
begin
substr1 := SUBSTR(inputString, 1, 3);
substr2 := SUBSTR(inputString, 4, 3);
END split_string;
用法:
DECLARE
a VARCHAR2 (10);
b VARCHAR2 (20);
BEGIN
split_string ('POLICE', a, b);
DBMS_OUTPUT.put_line (a || ',' || b);
END;
输出
SQL>
POL,ICE
PL/SQL procedure successfully completed.
我是 SQL 的新手,我正在尝试创建一个包含 6 个字符的字符串的过程,例如。 'POLICE' 然后将 return 两个子字符串值,例如。 'POL'、'ICE'
这是我目前尝试过的方法:
procedure split_string(inputString in string, substr1 in OUT string, substr2 in OUT string)
is
begin
substr1 := SUBSTR(inputString, 1, 3);
substr2 := SUBSTR(inputString, 4, 3);
end split_string;
但是这不起作用,我也不确定如何调用此函数并在代码的其他地方使用它的值。
是不是这样的:
split_string('POLICE') ?
使用这个:
CREATE OR replace procedure split_string(inputString in varchar2,
substr1 IN OUT varchar2,
substr2 IN OUT varchar2
)
As
begin
substr1 := SUBSTR(inputString, 1, 3);
substr2 := SUBSTR(inputString, 4, 3);
END split_string;
用法:
DECLARE
a VARCHAR2 (10);
b VARCHAR2 (20);
BEGIN
split_string ('POLICE', a, b);
DBMS_OUTPUT.put_line (a || ',' || b);
END;
输出
SQL>
POL,ICE
PL/SQL procedure successfully completed.