2011-10-09 73 views
0

在sqlplus中編寫存儲過程的正確語法是什麼?因爲SQL教程似乎沒有指定他們的環境,或者他們給出的例子有點令人困惑,所以互聯網在這一點上是無足輕重的。我認爲最簡單的方法就是我會發布兩條命令(我需要做幾條命令),如果有人能寫出他們看起來像存儲過程的樣子,我相信我可以找出其餘的我自己出來。SQLPlus中存儲過程的正確語法是什麼?

命令1: 代碼:

SELECT COUNT(username) 
FROM "ValidClients" 
WHERE username = [username goes here]; 

命令2: 代碼:

INSERT into "ValidClients" 
/*zero is overridden by a sequence trigger*/ 
VALUES (0, [username], [password]); 

正如你所看到的,這是很基本的東西,我只是用於Microsoft SQL Server和所以SQLPlus語法讓我有點絆倒。提前致謝。

回答

2

下面是谷歌的example

CREATE PROCEDURE addtuple1(i IN NUMBER) AS 
BEGIN 
    INSERT INTO T2 VALUES(i, 'xxx'); 
END addtuple1; 

entire tuturial看起來kindof不錯。

+0

我很感謝你的回答,我已經看過那篇教程。只是(原諒我看起來有點蠢),我在解決方案上找到答案時遇到了一些麻煩。例如,我不太明白爲什麼有時使用NUMBER約束,有時使用INTEGER(也許簡單的答案是數字允許使用小數)。這與我的回答很相似,但是在查看語法時會讓我感到困惑。 – buggritall

+0

Oracle將INTEGER指定爲NUMBER的子類型。你是正確的,NUMBER可以接受分數,而INTEGER不能。儘管如此,Oracle仍將INTEGER視爲NUMBER。 – Ollie