sql server中提供很多有用的系統儲存過程,但是我們都知道,儲存過程的結果集是不能用select來過濾的,也就是說select * from sp_who where [dbname] = '***';這樣的語句是執行不過。下面介紹兩種方法來解決這個問題
方法一:使用臨時表。首先建立乙個與sp_who相同欄位的臨時,然後用insert into 方法賦值,這樣就可以select這個臨時表了。具體**如下:
create table #temptable(spid int,ecid int,status varchar(32),loginname varchar(32),hostname varchar(32),blk int,dbname varchar(32),cmd varchar(32),request_id int);
insert into #temptable
exec sp_who;
select * from #temptable where [dbname] = 'master';
drop table #temptable
方法二:使用openrowset,**如下:
select * from openrowset('sqloledb','servername';'username';'password','sp_who') where [dbname] = 'master';
說明你沒有配置 'ad hoc distributed queries' ,按如下方法配置
啟用ad hoc distributed queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'ad hoc distributed queries',1
reconfigure
然後就可以執行上面的**了。
使用完成後,如果想關閉ad hoc distributed queries,執行如下**:
exec sp_configure 'ad hoc distributed queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
select from sp who的解決方案
方法一 程式設計客棧使用臨時表。首先建立乙個與sp who相同欄位的臨時,然後用insert into 方法賦值,這樣就可以select這個臨時表了。具體 如下 create table temptable spid int,ecid int,status varchar 32 loginname ...
ADB server didn t ACK解決方法
1 首先通過cmd啟動adb服務。這個時候會提示啟動失敗。adb start server 服務啟動失敗的原因有很多,但一般是埠繫結失敗。我們來檢視一下埠繫結資訊。如圖所示,真的是埠繫結出了問題。adb nodaemon server 3 我們來看看哪個服務占用了這個埠。這裡面有2個程序占用了這個埠...
NoSuchMethodError 解決方法
j a.lang.nosuchmethoderror,想必 j a的開發者都遇到過這個報錯吧,這個錯誤基本上都是由jvm 的 全網負責委託機制 全網負責委託機制是啥?引發的問題,本人在此奉上三種解決方案 步驟一 全域性搜尋該方法是否存在,目前idea可以支援該操作,包括source包均能搜到 如果搜...