對於我確定的道歉是一個非常基本的問題。我剛剛深入到sql的深度和學習,因爲我走了。未聲明存儲過程主鍵
a)在存儲過程(sql server 2012)中,如果我沒有聲明主鍵之一的返回值,它會創建一個嗎?因爲在我這樣做的情況下,我沒有計劃過一把鑰匙,也沒有一個領域可以作爲一個。
b)如果我必須設置密鑰,那麼代碼是什麼?我可以回顧這個問題,如何在每次運行SELECT時都有一個計數器增量(因爲如果我必須設置一個鍵,我可能會使用它)?
ETA 我只是碰到遊標的概念,從中我想你也不需要管理的主要領域爲系統保持確定了其行來了。
@ L.克洛茨,因爲你提供了一種方法來製作一個關鍵:如果系統有自己的鑰匙,你會在什麼情況下使用明確設置的鑰匙? 並且要清楚,我會把它放在下面?
ALTER PROCEDURE [dbo].[partsneed]
id INT PRIMARY KEY AUTO_INCREMENT
,@PartIDIN varchar(20)=0
,@COstatusIN char=0
,@QTYneedIN float=0
,@DateNeedIN date='1900/1/1'
,@QTYhrsIN float=0
分享你寫的代碼。 –
它不創建一個,除非你設置一個。這會將自動增量主鍵列添加到當前沒有主鍵的表中。 tablename應該是你的表的名字。 ALTER TABLE tablename ADD id INT PRIMARY KEY AUTO_INCREMENT; –