久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

將 exec sp_executesql 結(jié)果加載到表中

Loading exec sp_executesql results into a table(將 exec sp_executesql 結(jié)果加載到表中)
本文介紹了將 exec sp_executesql 結(jié)果加載到表中的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我從我的上一個(gè)問題中有以下查詢,它在動態(tài)表中的 SQL.我怎樣才能把它傳到一張桌子上?我的意思是像 select * from sp_executesql @query.

I have the below query from my previous question and this executes in SQL in a dynamic table. How can i pass this into a table? I mean something like select * from sp_executesql @query.

我嘗試了 openrowset,但我的安全權(quán)限不允許.還有其他幫助嗎?

I tried openrowset but my security privilages do not allow it. Any other help?

謝謝,

Declare @cols as NVARCHAR(MAX), @query as NVARCHAR(MAX)

select @cols = STUFF((SELECT ',' + QUOTENAME(FIELD_NAME) 
                from bear_crossjoin
                group by Field_Name, FIELDNUMBER
                order by FIELDNUMBER
        FOR XML PATH(''), TYPE
        ).value('.', 'NVARCHAR(MAX)') 
    ,1,1,'')

set @query = N'SELECT ' + @cols + N' 
            from 
            (
                select substring, Field_Name,
                  rn = row_number() over(partition by field_name order by fieldnumber)
                from bear_crossjoin
            ) x
            pivot 
            (
                max(substring)
                for Field_Name in (' + @cols + N')
            ) p ' 
exec sp_executesql @query

Print (@query) 將顯示列名

Print (@query) will display the column names

選擇[GRADE-BASIS-INDICATOR],[MOST-CURRENT-CODE],[PAY-PERIOD-NUMBER],[DATE-PROC-PP-BEGINS-CN],[DATE-PROC-PP-BEGINS-YR],[行動-代碼],[無人員-現(xiàn)金-獎]......一共1085個(gè)

SELECT [GRADE-BASIS-INDICATOR],[MOST-CURRENT-CODE],[PAY-PERIOD-NUMBER],[DATE-PROC-PP-BEGINS-CN],[DATE-PROC-PP-BEGINS-YR],[ACTION-CODE],[NO-PERSONS-CASH-AWARD]......there are 1085 of them

推薦答案

由于拉取動態(tài)字段列表,這需要作為一個(gè)SELECT {fields} INTO ##tmp FROM...code> 因?yàn)闆]有簡單的方法來獲得 CREATE TABLE 語句,特別是如果 bear_crossjoin 表中沒有列出的數(shù)據(jù)類型.因此,更新動態(tài) SQL 以增加一行,如下所示:

Due to pulling a dynamic field list, this kinda needs to be done as a SELECT {fields} INTO ##tmp FROM... since there is no easy way to get a CREATE TABLE statement, especially if the bear_crossjoin table does not have the datatypes listed in it. So, update the Dynamic SQL to have one extra line as follows:

set @query = N'SELECT ' + @cols + N' 
               INTO ##TempResults  -- add this one line!!
            from 
            (
...
exec sp_executesql @query

SELECT * FROM ##TempResults;

全局臨時(shí)表(即 ##name 而不是 #name)將在子進(jìn)程中創(chuàng)建后繼續(xù)存在.一張真正的桌子也能幸存下來.但是一旦子進(jìn)程(即動態(tài) SQL)結(jié)束,本地臨時(shí)表(即 #name 而不是 ##name)就會消失.

A Global Temp Table (i.e. ##name instead of #name) will survive being created in a sub-process. A real table would also survive. But a local temp table (i.e. #name instead of ##name) will disappear once the subprocess (i.e. the Dynamic SQL) ends.

這篇關(guān)于將 exec sp_executesql 結(jié)果加載到表中的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Modify Existing decimal places info(修改現(xiàn)有小數(shù)位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關(guān)名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號或管道運(yùn)算符字符串中刪除重復(fù)項(xiàng))
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關(guān)系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 黄色成人免费网站 | 欧美激情视频一区二区三区 | 999av| 久久亚洲免费视频 | 精品日韩在线观看 | 午夜成人影片 | 91福利区 | 欧美黄色一级 | 亚洲一区色 | 综合99| 伊人网在线观看 | 谁有毛片网站 | 日本久久视频 | 国产福利视频在线观看 | 在线伊人网 | 成人永久免费视频 | 国产吃瓜黑料一区二区 | 美女国产精品 | 亚洲精品一区二区三区精华液 | 欧美日韩小视频 | 在线观看av免费 | www.日韩| a免费视频| 青青草免费在线视频 | 成人在线视频网站 | 国v精品久久久网 | 爱爱免费网站 | 一级黄色大片 | 久色91 | 欧美一区二区三区的 | 成人午夜视频在线观看 | 国产黄色av网站 | 国产精品久久久久久久成人午夜 | 日本黄色免费视频 | 黄色1级片 | 欧美在线免费观看 | 国产精品成人国产乱一区 | 亚洲成人免费 | 91成人免费 | 亚洲视频在线免费观看 | 久久伊人av |