我正在完成一项任务。我想要做的是将两个参数值存储到一个变量值中。我的代码目前是:
create or replace function generateISIN(
countryCode Country.Code%type,
universityCode University.Code%type,
studentNumber varchar2)
return varchar2
as
v_numbers varchar2(9);
newStudentNumber varchar2(50) := '';
begin
select co.code, un.code
into newStudentNumber
from country co, university un
where v_numbers = studentNumber;
dbms_output.put_line('implementeer deze functie verder...');
return newStudentNumber;
end;
/
此程序/代码的含义是将国家代码(US,NL,AUS等)和大学代码(RUS,TUE,TIU等)转换为一个变量。所以最后我会得到一个ISIN
国际学生识别号码
例如:NL 1234 5678 944 TUE
知道如何将国家/地区代码和大学代码与数字相结合吗?
答案 0 :(得分:2)
假设您的变量足以容纳结果,您可以使用字符串连接运算符||
简单地连接列:
select co.code || un.code
into newStudentNumber
from country co, university un
where v_numbers = studentNumber;
答案 1 :(得分:1)
您可以使用连接运算符||
或 CONCAT 函数连接列值。
例如,
select co.code ||' '|| un.code
into newStudentNumber
from country co, university un
where v_numbers = studentNumber;
我在中间使用了一个空格,只是为了确保输出是清晰的,每个代码都用空格分隔。
更新您需要更正查询:
select co.code, un.code into newStudentNumber from country co, university un where v_numbers = studentNumber;
IF-ELSE
构造中进行比较。dbms_output.put_line('implementeer deze functie verder ...');
DBMS_OUTPUT 在测试代码时提供了很好的帮助,但请确保不要在生产环境上执行此操作。
另外,请记住,如果您可以在SQL中执行某些操作,那么除非有业务需要,否则不应使用PL / SQL。您的整个代码可以替换为单个SQL语句。