开发者

Is there a way to create your own @@variable within SQL Server?

开发者 https://www.devze.com 2023-03-20 03:43 出处:网络
In SQL server, there are times when I have a variable which may change, that many stored procedures all use and just think it would be cool if I could store it as an \'@@variable\' (like @@servern开发

In SQL server, there are times when I have a variable which may change, that many stored procedures all use and just think it would be cool if I could store it as an '@@variable' (like @@servern开发者_运维知识库ame).

Is it possible to create your own '@@variable'? And if so, how do you do it?

(using sql server 2008)


I'd go with using a real table to hold your global values, then it'll survive between restarts/connections. There is a good example of that here: http://weblogs.sqlteam.com/mladenp/archive/2007/04/23/60185.aspx


In these situations I would generally have a table to hold these values and I would keep the settings there. You could use a scalar function to encapsulate it with a stored procedure to set it. I don't know of any way to actually create your own @@ variables, but I haven't looked into it.


You can't declare a global variable that's shareable between stored procedures.

You could however use global temporary tables to share data, just declare a table using syntax below and insert/read values.

CREATE TABLE ##myTempTable
(
  DummyField1 INT,
  DummyField2 VARCHAR(20)
)

To share data within the connection you can use context_info:

declare @vb varbinary(128)
set @vb = context_info() -- read value
set context_info @vb -- set value
0

精彩评论

暂无评论...
验证码 换一张
取 消