嗨,我选择了这样的
SELECT
ADDRESSES.PHONENUMBER1,
ADDRESSES.PHONENUMBER2,
FIRMS.NAME,
ADDRESSES.COUNTRY,
ADDRESSES.EMAIL,
ADDRESSES.RECIPIENT
FROM ADDRESSES
INNER JOIN FIRMS
ON FIRMS.RESIDENCEADDRESS_ID = ADDRESSES.ID
WHERE (replace(REPLACE(ADDRESSES.PHONENUMBER1, ' ', ''), '-', '') LIKE '%123456789%')
OR (replace(REPLACE(ADDRESSES.PHONENUMBER1, ' ', ''), '-', '') LIKE '%123456789%')
我想做一个程序,结果是
姓名,地址,电子邮件,
还需要帮助替换123456789机智正确的问
谢谢
答案 0 :(得分:0)
..这有效,但如果有人知道可以改进的东西。让我知道
create or replace PROCEDURE TEST
(
in_ANI in VARCHAR2,
out_all out VARCHAR2
)
AS
fName VARCHAR2 (40) := '';
aemail VARCHAR2 (40) := '';
BEGIN
out_all := '';
SELECT FIRMS.NAME, ADDRESSES.EMAIL
into fName, aemail
FROM ADDRESSES
INNER JOIN FIRMS
ON FIRMS.RESIDENCEADDRESS_ID = ADDRESSES.ID
WHERE (replace(REPLACE(ADDRESSES.PHONENUMBER1, ' ', ''), '-', '') LIKE '%'||in_ANI||'%')
OR (replace(REPLACE(ADDRESSES.PHONENUMBER2, ' ', ''), '-', '') LIKE '%'||in_ANI||'%');
out_ALL := 'Firm:' || fName || '|Email:' || aemail;
exception
when TOO_MANY_ROWS then
out_ALL := ('Firm:Too Many firms for this phone');
when NO_DATA_FOUND then
out_ALL := ('Firm:No firms for this number');
when others then
raise_application_error(-20011,'Unknown Exception');
END TEST;