Oracle 来自select的sqldeveloper过程
嗨,我有这样的选择Oracle 来自select的sqldeveloper过程,oracle,oracle-sqldeveloper,procedures,Oracle,Oracle Sqldeveloper,Procedures,嗨,我有这样的选择 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(ADDRES
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的帮助,请询问
谢谢你。这很有效,但是如果有人知道一些可以改进的地方。让我知道
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;
你试了什么?您应该阅读并查看Oracle创建过程文档-。开始工作吧,一旦你遇到错误或不理解某些东西,我们就可以帮助你。我不是sql专家,进进出出的NOCOPY解释也不理解。在哪里=什么?在我的选择中,我的位置像%number%或像%number%这不适合解释SQL参考,所以我请各位专家:)