Sql 存储过程中的变量
这是一个与MS SQL Server相关的一般性问题 我想在存储过程中使用一个内部变量。我声明的所有变量都允许用户输入。有没有办法创建一个不向“用户”公开的变量?我知道我可以使变量成为可选的Sql 存储过程中的变量,sql,sql-server,tsql,Sql,Sql Server,Tsql,这是一个与MS SQL Server相关的一般性问题 我想在存储过程中使用一个内部变量。我声明的所有变量都允许用户输入。有没有办法创建一个不向“用户”公开的变量?我知道我可以使变量成为可选的 谢谢是的,只需在过程主体内声明变量,而不是作为输入参数: CREATE PROCEDURE SomeProc --these are input parameters which the user/caller can specify values for @parameter1 nvarcha
谢谢是的,只需在过程主体内声明变量,而不是作为输入参数:
CREATE PROCEDURE SomeProc
--these are input parameters which the user/caller can specify values for
@parameter1 nvarchar(50),
@parameter2 int
AS
BEGIN
DECLARE @parameter3 int; -- this is a variable which is private to the procedure.
SET @parameter3 = 7; -- this sets the value of the variable. Of course you could set its value another way by taking it from a table, or doing a calculation, whatever you need.
SELECT somefield FROM sometable WHERE anotherfield = @parameter3;
END
您可能还想了解有关此主题的信息能否展示您迄今为止的尝试。当然有可能。定义的变量在过程之外是不可访问的。不要混淆参数和变量。从句法上看,它们看起来一样,但却大不相同。