在SQL函数/问题中设置变量
假设我有一个普通的SQL过程,它有几个参数 在调试过程中,如果我能为这些参数分配一些值,这样我就可以突出显示proc的主体并执行它(而不是手动用值替换变量),那就太好了 有没有办法做到这一点?我试过:在SQL函数/问题中设置变量,sql,sql-server,Sql,Sql Server,假设我有一个普通的SQL过程,它有几个参数 在调试过程中,如果我能为这些参数分配一些值,这样我就可以突出显示proc的主体并执行它(而不是手动用值替换变量),那就太好了 有没有办法做到这一点?我试过: @Date1 datetime, @Date2 datetime SET @Date1 = '2012-03-23' 但它不喜欢它???把“declare”字放在@Date1前面把“declare”字放在@Date1前面试试看 DECLARE@Date1 datetime SET@Date1=
@Date1 datetime,
@Date2 datetime
SET @Date1 = '2012-03-23'
但它不喜欢它???把“declare”字放在@Date1前面把“declare”字放在@Date1前面试试看
DECLARE@Date1 datetime
SET@Date1='2012-03-23'
看起来您缺少了declare语句。如果它不喜欢“2012-03-23”部分,您可能必须对其进行转换。请重试
DECLARE@Date1 datetime
SET@Date1='2012-03-23'
看起来你错过了声明语句。如果它不喜欢“2012-03-23”部分,你就必须把它扔掉。
如果你要这么做,我建议你考虑在程序中添加一个@调试参数:create procedure dbo.SomeProc @p1 int, @p2 int, @Debug bit = 0x0
as
set nocount on
begin
if @Debug = 0x1 -- set test values only if debugging
begin
print 'Start debugging'
set @p1 = 1
set @p2 = 2
end
/* your code continues here... */
end
然后,当你想测试你的代码时,只需执行程序“<代码> @ Debug = 0x1”来执行调试代码。
< P>如果你要这样做,我建议你考虑在程序中添加一个@调试参数:create procedure dbo.SomeProc @p1 int, @p2 int, @Debug bit = 0x0
as
set nocount on
begin
if @Debug = 0x1 -- set test values only if debugging
begin
print 'Start debugging'
set @p1 = 1
set @p2 = 2
end
/* your code continues here... */
end
然后,当您想测试代码时,只需使用
@Debug=0x1
执行该过程即可执行调试代码。也许您想将@Debug
参数声明为可选参数parameter@Sung它是可选的:它有一个默认值0x0,您可以将@Debug
参数声明为可选参数@它是可选的:默认值为0x0