這裡有幾個關於SQL Server的問題想向您請教(服務器端腳本編程):
(1)如何在SQL Server中用SQL語句獲得當前的數據庫名稱?
(2)如何在定義一個全局變量而不是局部變量,因為我在這裡定義了一個循環,在這個循環裡有對一個臨時表加字段和對臨時表插入數據的操作。但這兩個操作必須放在不同的批次裡.(需要用GO語句分開)。這時控制循環的變量參數就不起作用了,因為變量參數只能在一個批次裡起作用,到下一個批次就要重新定義了。真頭疼!能不能定義全局變量,讓它在所有批次中都起作用?
這兩個問題,其實並不具有一定的普遍性,但是解決這兩個問題的 思路和方法 卻有一定的 普遍性,所以我專門把這兩個問題拿出來 講一下
(1)首先 這個當前 所在 DataBase 肯定需要用到 系統存儲過程 這一點是 十分肯定的,我自然想到了sp_who 執行後,列出了當前所有的 系統進程的 所有信息,我一看 有 Runnable,有 Slepping 肯定應該是 runnable 了,一看 他的 spid 想起來了,有個系統的 全局變量@@SPID,先試一下,sp_who @@spid 哈哈 成功了這個問題的解決之道 是 一定要熟悉 系統的存儲過程和系統全局變量,並且要善於觀察和思考
(2) 至於 第二個問題,則純粹是一種 t-sql 編程的思路問題,首先我不贊同用一個規則去判斷兩個 存儲過程,因為這不符和 t-SQL 編程的規范,但是既然問題出來了,就要想辦法 解決,我們知道在 兩個批次裡 是不可能共巷數據的,所以 我想到了 cursor 游標,最終 經過測試,也成功了。