![](/img/trans.png)
[英]SQL Server : how can I find the specific value from all stored procedures in my database?
[英]Is there such a thing as a CONSTANT in SQL Server that I can refer to in different stored procedures in my database?
我有此代碼,它是存儲過程的一部分。 我還有其他具有類似摘要的存儲過程。
INSERT INTO dbo.UserTest
(
AdminTestId,
Sequence,
TestStatusId
)
VALUES
(
@AdminTestId,
@SEQ ,
1
)
現在,我剛剛意識到testStatusId的值1
應該是2
。 我一直犯這些錯誤,因為我忘記了哪個號碼。
有什么方法可以讓我引用一個常量,該常量可以在所有存儲過程之外的某個地方設置?
理想情況下,我想做的是這樣的事情。 但是我不想在每個存儲過程的頂部聲明TestStatusId.Started的值。
INSERT INTO dbo.UserTest
(
AdminTestId,
Sequence,
TestStatusId
)
VALUES
(
@AdminTestId,
@SEQ ,
@TestStatsusId.Started
)
在存儲過程中可以引用的全局值的上下文中,沒有常量的概念。 您可以在存儲過程中聲明變量(盡管不是常量): DECLARE @variableName <VariableType> = <Value>
,但不能在DECLARE @variableName <VariableType> = <Value>
之外。
跨多個數據庫對象訪問值的最佳選擇是創建一個包含全局值的表。 然后,在存儲過程中,可以使用SELECT
語句為您檢索值,或者創建一個用戶定義的函數,該函數通過某個鍵(例如,按名稱)拉回一個值。
在典型的編程意義上沒有“常數”,但是您正在數據庫中工作。 您的表中充滿了常量。 如果這對您來說是個問題,則可以有一個表,其中一列包含數字標識符,另一列包含關鍵字。 另外,您可以使用一個函數為您執行此轉換,然后在存儲過程中調用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.