0
我在嘗試使UDF包裝生成主鍵的邏輯中出現錯誤,以便在執行插入數據庫表的某些過程中使用。UDF插入到只有PK標識字段的表中的語法是什麼?
我有在存儲特效生成使用價值以下PK臺:
CREATE TABLE [dbo].[PK](
[Id] [bigint] IDENTITY(1,1) NOT NULL, CONSTRAINT [PK_PK] PRIMARY KEY CLUSTERED
(
[Id] ASC
)
)
我UDF是這樣的:
alter FUNCTION [getPK] ()
RETURNS int
AS
BEGIN
declare @Output int
INSERT INTO pk default values
SET @Output = (SELECT SCOPE_IDENTITY())
RETURN @Output
END
我試着去封裝使用我多處以下邏輯在我的DB中:
INSERT INTO pk default values
SELECT SCOPE_IDENTITY() --to get a new ID
...你爲什麼這樣做呢? PK表的要點是什麼?你插入的實際表應該保持他們自己的主鍵。 – canon 2011-03-10 15:19:03
注意:在你的表中,'Id'是一個bigint,但你的函數返回一個int。 – 2011-03-10 15:21:13
您正在嘗試執行一個序列。爲什麼?你沒有閱讀你以前的問題的答案嗎?**沒有人同意「你的同事」? http://stackoverflow.com/questions/5237807/whats-better-identity-columns-or-generated-unique-id-values – gbn 2011-03-10 15:42:34