2017-05-09 58 views
0

我跑了SQL Server事件探查和一個SQL statemnt我可以看到下面的腳本:在某些sql server profiler sql窗口中默認的含義是什麼?

declare @p9 varchar(8000) 
set @p9=NULL 
declare @p10 smallint 
set @p10=default 
declare @p11 bit 
set @p11=default 
declare @p12 int 
set @p12=default 
exec spgConfigValue @FullKey='System|MessageLog|Record|SSRS',@Key1=default,@Key2=default,@Key3=default,@Key4=default,@Key5=default,@DataType=default,@DefaultValue='True',@[email protected] output,@[email protected] output,@[email protected] output,@[email protected] output,@PortalStudentID=default,@PortalUserID=default 
select @p9, @p10, @p11, @p12 

這個問題是剛剛走出curiosity.I的在概念上理解什麼設置的背景下,@ P10 =默認的意思。我認爲這意味着,因爲沒有值在執行該輸出參數的應用程序中的proc時設置,只需在該param的proc內使用默認值即可。我不明白的是這個腳本的寫法。如果在管理工作室內運行整個腳本,它會在關鍵字'default'附近生成錯誤語法錯誤。 那麼這裏發生了什麼?在這種情況下,SQL Server生成的只是一個sudo代碼,實際代碼是其他內容,或者這實際上是以某種方式在SQLServer執行引擎中運行的代碼?

回答

0

對於RPC請求,您在Profiler跟蹤中看到的批處理文本實際上是從TDS協議流反向設計的,而不是應用程序發送的實際批處理文本。你是正確的,這基本上是僞代碼,在這種情況下,語法不適合作爲臨時查詢執行。

相關問題