2013-04-11 55 views
-1

剛開始做一些PL/SQL,我需要一些幫助創建我被分配到實踐的過程:PL/SQL程序

創建一個具有兩個輸入的程序 - 名字和姓氏。該 程序應DBMS輸出以下3行:

firstname surname (lowercase) 
FIRSTNAME SURNAME (uppercase) Firstname 
Surname (Initial uppercase) 

下面的PL/SQL函數可以用來幫助:

UPPER(VARCHAR2), LOWER(VARCHAR2), INITCAP(VARCHAR2) 

我到目前爲止已經試過這樣:

CREATE OR REPLACE PROCEDURE LabFourProc (firstname IN VARCHAR2, surname IN VARCHAR2) 
IS 
BEGIN 
    DBMS_OUTPUT.PUT_LINE(firstname, surnmame); 
END LabFourProc; 
/
+3

你嘗試過什麼到目前爲止,因爲你有3個你需要的功能。它是一個微不足道的程序,因爲你已經被告知要使用三個函數。 – DazzaL 2013-04-11 11:19:20

+0

我到目前爲止已經試過這樣: 「CREATE OR REPLACE PROCEDURE LabFourProc(名字 \t IN VARCHAR2,姓在VARCHAR2) IS BEGIN \t DBMS_OUTPUT.PUT_LINE(名字,surnmame); END LabFourProc; /」 顯然它沒有工作,但我很新! – user2252636 2013-04-11 11:24:11

+0

@ user2252636顯示您的代碼的最佳方式是您的問題下面的編輯鏈接。 PL/SQL有[全面文檔](http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/toc.htm),可在線免費獲取,過程的語法在[PL/SQL子程序部分](http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/subprograms.htm#i4079)。 – 2013-04-11 11:26:24

回答

1

伴侶我是新來這個問題,以及這個。嘗試,如果這有助於

CREATE OR REPLACE PROCEDURE LabFourProc (firstname IN VARCHAR2, surname IN VARCHAR2) 
IS 
BEGIN 
DBMS_OUTPUT.ENABLE (1000000); 
DBMS_OUTPUT.PUT_LINE('Input Parameters:'|| firstname ||CHR(9)|| surname ||CHR(10)|| 
'Upper Name:' || upper(firstname)||CHR(9)||upper(surname)||CHR(10)|| 
'Lower Name:' || lower(firstname)||CHR(9)||lower(surname)||CHR(10)|| 
'First Leter Cap Name:' || initcap(firstname)||CHR(9)||initcap(surname)); 
END; 
/
0

您可以使用CONCAT()函數或||運算符來加入字符串。例如:

-- outputs "firstname surname" 
DBMS_OUTPUT.PUT_LINE(firstname || ' ' || surnmame); 
0
CREATE OR REPLACE PROCEDURE 
p1(fn varchar2, sn varchar2) 
is 
BEGIN 
DBMS_OUTPUT.PUT_LINE(lower(fn)||' '||lower(sn)||','||upper(fn)||' '||upper(sn)||','||initcap(fn)||' '||initcap(sn)); 
END; 

執行

EXEC P1('ANYA','ROMANOVA');