當前位置:首頁 » 編程語言 » tsqlselectinto

tsqlselectinto

發布時間: 2023-10-17 05:39:34

Ⅰ 怎麼用Oracle 存過中執行多個查詢sql 並返回結果,SQL和返回結果都存在一張表裡面

你這種要求不應該這么設計,首先你十幾條的SQL的結果集欄位類型和個數不一定一樣,所以沒法存儲,只有你的SQL返回的結果集都一樣或者可以枚舉且欄位類型均一樣,這樣就可以用自定義類型作為B欄位。

解決方案一:單表存儲結果

思路:要求所有的SQL返回結果集列數不多於N個,然後創建一個N個欄位的TYPE,此處假設N=5,代碼如下:

--創建多個欄位的type
createorreplacetypetest_column_typeasobject(
col_1varchar2(300),
col_2varchar2(300),
col_3varchar2(300),
col_4varchar2(300),
col_5varchar2(300)
);
--創建引用多個欄位的type
createorreplacetypetest_tab_column_typeastableoftest_column_type;

--創建表
createtabletest_tab(
avarchar2(300),
btest_tab_column_type)
nestedtablebstoreasnested_tabreturnasvalue;


--寫數據的語句
insertintotest_tab
values
('1',test_tab_column_type(test_column_type(1,1,1,1,1),test_column_type(2,2,2,2,2)));

解決方案二:多表存儲結果

思路:主子表,先創建一個表只用來存SQL,另外一個表存SQL的結果,大致如下:

createt_sql(
idnumber,
avarchar2(3000)
);
createt_sql_result(
idnumber,
col1varchar2(400),
col2varchar2(400),
...
colNvarchar2(400)
);

如果所有SQL返回的列數都一樣,那很簡單,直接寫到 t_sql_result 表裡面即可。

如果SQL返回的列數不一樣,則需要判斷每個sql返回的列數,然後拼接動態SQL,將結果寫入t_sql_result 表。

Ⅱ SQL select into 的用法,並舉例說明

select
into
語句從一個表中選取數據,然後把數據插入另一個表中。select
into
語句常用於創建表的備份復件或者用於對記錄進行存檔。舉例:所有的列插入新表:select
*
into
新表
from
舊表製作備份附件:select
*
into
表名
from
資料庫
從一個資料庫向另一個資料庫中拷貝表select
*
into
新資料庫.表名
from
舊的資料庫.表名

Ⅲ sql中一對多關系的查詢結果的多行轉換成一行多列

--用動態sql實現行轉列。因用到了row_number,只適用於sqlserver2005及以上版本
--測試數據
with
[user](ID,name,roleid)
as(
select1,'bobo','r1'unionall
select2,'coco','r1'unionall
select3,'dodo','r1'unionall
select4,'eoeo','r2'unionall
select5,'fofo','r2'),
[role](ID,name)
as(
select'r1','admin'unionall
select'r2','user')
--兩表聯合查詢後暫存入臨時表
selectb.IDroleid,b.namerolename,a.nameusername,row_number()over(partitionbyb.IDorderbya.ID)seq
into#t
from[user]a
innerjoin[role]bona.roleid=b.ID;
--拼接動態sql
declare@sqlvarchar(max);
set@sql='';
select@sql=@sql+
',max(caseseqwhen'+cast(tt.seqasvarchar)+'thenusernameelse''''end)user'+cast(tt.seqasvarchar)
from(selectdistinctseqfrom#t)tt
orderbyseq;
set@sql='selectrolename'+@sql+'from#tgroupbyroleid,rolename';
--列印動態sql
select@sql;
--執行動態sql
exec(@sql);
--刪除臨時表
droptable#t;

生成的動態sql為:

selectrolename,
max(caseseqwhen1thenusernameelse''end)user1,
max(caseseqwhen2thenusernameelse''end)user2,
max(caseseqwhen3thenusernameelse''end)user3
from#tgroupbyroleid,rolename

最終查詢結果為:

Ⅳ 在sqlserver資料庫中怎麼復制相同的表結構的方法

12--------------新表 ↓ 要復制的源表↓Select * Into newTable From sourceTable
這個語句會將sourceTable結構包括數據全部復制一份放到新表中newTable 是新表的名字,在執行前newTable 表不能已存在,如果只復制結構不要數據
12Select top 1 * Into newTable From sourceTable --少要點只要一行truncate table newTable --清除掉數據
關於
select
into
語句:
SQL
SELECT
INTO
語句可用於創建表的備份復件。
SELECT
INTO
語句
SELECT
INTO
語句從一個表中選取數據,然後把數據插入另一個表中。
SELECT
INTO
語句常用於創建表的備份復件或者用於對記錄進行存檔。
SQL
SELECT
INTO
語法
您可以把所有的列插入新表:
SELECT
*
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
或者只把希望的列插入新表:
SELECT
column_name(s)
INTO
new_table_name
[IN
externaldatabase]
FROM
old_tablename
SQL
SELECT
INTO
實例
-
製作備份復件
下面的例子會製作
"Persons"
表的備份復件:
SELECT
*
INTO
Persons_backup
FROM
Persons
IN
子句可用於向另一個資料庫中拷貝表:
SELECT
*
INTO
Persons
IN
'Backup.mdb'
FROM
Persons
如果我們希望拷貝某些域,可以在
SELECT
語句後列出這些域:
SELECT
LastName,FirstName
INTO
Persons_backup
FROM
Persons
SQL
SELECT
INTO
實例
-
帶有
WHERE
子句
我們也可以添加
WHERE
子句。
下面的例子通過從
"Persons"
表中提取居住在
"Beijing"
的人的信息,創建了一個帶有兩個列的名為
"Persons_backup"
的表:
SELECT
LastName,Firstname
INTO
Persons_backup
FROM
Persons
WHERE
City='Beijing'
SQL
SELECT
INTO
實例
-
被連接的表
從一個以上的表中選取數據也是可以做到的。
下面的例子會創建一個名為
"Persons_Order_Backup"
的新表,其中包含了從
Persons

Orders
兩個表中取得的信息:
SELECT
Persons.LastName,Orders.OrderNo
INTO
Persons_Order_Backup
FROM
Persons
INNER
JOIN
Orders
ON
Persons.Id_P=Orders.Id_P

Ⅳ 如何用sql語句將一個文件夾下的所有txt文件導入到資料庫中急!在線等

使用場景:
比如將
C:\Test\
目錄下的所有
txt文件內容
導入到
Table_1

--定義臨時表,用於存放獲取的文件名稱
CREATE
TABLE
#files
(name
varchar(200)
NULL,
sql
varchar(7000)
NULL)
--獲取文件名稱,存放在#files
INSERT
#files(name)
exec
master..xp_cmdshell
'dir
c:\test
/b'
--刪除不要的文件名稱
DELETE
#files
WHERE
coalesce(name,
'')
NOT
LIKE
'Code%'
--插入需要
導入文件內容的
命令SQL,需要修改
Table_1(改為導入的Table)和文件路徑
UPDATE
#files
SET
sql
=
'BULK
INSERT
Table_1
FROM
'''
+
'C:\Test\'+name
+
'''
WITH
('
+
'DATAFILETYPE
=
''char'',
FIELDTERMINATOR
=
''\t'',
'
+
'ROWTERMINATOR
=
''\n'')'
--開始執行導入
DECLARE
@sql
varchar(8000)
DECLARE
cur
CURSOR
STATIC
LOCAL
FOR
SELECT
sql
FROM
#files
OPEN
cur
WHILE
1
=
1
BEGIN
FETCH
cur
INTO
@sql
IF
@@fetch_status
<>
0
BREAK
EXEC(@sql)
END
DEALLOCATE
cur
主要分為讀取文件夾下所有文件和導入文件內容兩部分
--讀取文件夾下所有文件
declare
@files
table
(ID
int
IDENTITY,
FileName
varchar(100))
insert
into
@files
execute
xp_cmdshell
'dir
c:\test
/b'
select
'c:\'+
[FileName]
AS
FILEPATH
INTO
#temp
from
@files
SELECT
*
FROM
#temp
--導入文件內容
BULK
INSERT
dbo.Table_1
FROM
#temp
WITH
(
ROWTERMINATOR
='\n'
)
還需要開啟
/*****
Step
1
開啟
xp_cmdshell
Use
Master
GO
EXEC
master.dbo.sp_configure
'show
advanced
options',
1
RECONFIGURE
WITH
OVERRIDE
GO
EXEC
master.dbo.sp_configure
'xp_cmdshell',
1
RECONFIGURE
WITH
OVERRIDE
GO
*******/
參考:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/47c8edc1-8cad-4a24-a09a-3fc0c943325c/bulk-insert-multiple-files-tsql

Ⅵ C#資料庫入門經典的C# 2008資料庫入門經典(第4版)

作者:阿格沃爾 , 哈德萊斯頓
翻譯:沈潔 , 楊華
出版社: 清華大學出版社; 第4版 (2009年3月1日)
平裝: 373頁
正文語種: 漢語
開本: 16
ISBN: 7302196281, 9787302196280
條形碼: 9787302196280
產品尺寸及重量: 25.8 x 18.2 x 1.8 cm ; 662 g 《C# 2008資料庫入門經典(第4版) 》著重介紹了使用C# 2008作為開發工具,與最新發布的Visual Studio 2008及.NET Framework 3.5一起訪問資料庫。《C# 2008資料庫入門經典(第4版)》介紹了使用SQL Server 2005進行資料庫編程的所有知識,將數據「拉」到使用C# 2008開發的應用程序中。在學習《C# 2008資料庫入門經典(第4版)》的過程中,通過創建「試一試」部分的示例應用程序,可以實踐所學的知識。它將幫助您將所學內容應用於實際應用程序中。「示例說明」解釋了示例應用程序的每個代
碼語句以幫助您進行理解。作者希望您不僅能夠掌握C# 2008的知識,還能夠學到SQLServer 2005的知識。《C# 2008資料庫入門經典(第4版)》介紹了相當多的資料庫概念,包括基本知識、SQL Server 2005的T-SQL新功能。《C# 2008資料庫入門經典(第4版)》將幫助您逐步提升代碼編寫能力,所以我們將從簡單的主題講起,逐步過渡到復雜主題。首先介紹基本應用程序開發,然後是LINQ和ADO.NET 3.5的概念,以及使用它們構建應用程序。
作者相信《C# 2008資料庫入門經典(第4版)》能有助於您提高資料庫應用開發的能力。 作者:(美國)阿格沃爾 (美國)哈德萊斯頓 譯者:沈潔 楊華
idya Vrat Agarwal,是一位純Microsoft NET主義者,擁有MCT、MCPD、MCTS、MCSD.NET、MCAD.NET和MCSD等認證,他在萊博智科技(Lionbridge Technologies公司工作。同時,又是印度計算機科學院的終身會員。他最初從事Microsoft.NET測試版本的工作,之後涉足軟體開發、技術推廣、技術顧問、公司培訓的工作和為不同客戶開發基於Microsoft.NET的T3項目。可以在www. Programmers Heaven Com上閱讀到他的文章。他還在www. U Certify com上對.NET Preparation Kits作了評論。 第1章 開發工具
1.1 獲取VisualStudio2008
1.2 安裝
1.3 安裝Northwind樣本資料庫
1.3.1 安裝Northwind創建腳本
1.3.2 創建Northwind樣本資料庫
1.4 安裝AdventureWorks樣本資料庫
1.4.1 安裝AdventureWorks創建腳本
1.4.2 創建AdventureWorks樣本資料庫
1.5 小結
第2章 使用開發工具
2.1 不同版本Microsoft.NETFramework與代碼庫模型
2.2 使用MicrosoftVisualStudio2008
2.3 使用
2.4 小結
第3章 理解關系資料庫
3.1 資料庫的概念
3.2 電子數據表和資料庫的選擇
3.3 使用資料庫的原因
3.4 使用關系型資料庫管理系統的優勢
3.5 桌面RDBMS和伺服器RDBMS的比較
3.5.1 桌面資料庫
3.5.2 伺服器資料庫
3.6 資料庫的生命周期
3.7 映射基數
3.8 鍵的理解
3.8.1 主鍵
3.8.2 外鍵
3.9 理解數據完整性
3.9.1 實體完整性
3.9.2 引用完整性
3.1 0規范化概念
3.1 1規范化的缺陷
3.1 2小結
第4章 編寫資料庫查詢
4.1 比較QBE與SQL
4.2 查詢
4.3 通用表表達式
4.4 GROUPBY子句
4.5 PIVOT運算符
4.6 ROW_NUMBER()函數
4.7 PARTITIONBY子句
4.8 模式匹配
4.9 合計函數
4.1 0DATETIME日期函數
4.1 1連接
4.1 1.1 內連接
4.1 1.2 外連接
4.1 1.3 其他連接
4.1 2小結
第5章 操縱資料庫數據
5.1 檢索數據
5.1.1 使用WHERE子句
5.1.2 數據排序
5.2 使用SELECTINTO語句
5.3 插入數據
5.4 更新數據
5.5 刪除數據
5.6 小結
第6章 使用存儲過程
6.1 創建存儲過程
6.2 修改存儲過程
6.3 顯示存儲過程的定義
6.4 重命名存儲過程
6.5 在C#中使用存儲過程
6.6 刪除存儲過程
6.7 小結
第7章 使用XML
7.1 XML的定義
7.2 選擇XML的原因
7.3 將數據存儲為XML格式的好處
7.4 理解XML文檔
7.5 理解XML聲明
7.6 將關系型數據轉換為XML
7.6.1 使用FORXMLRAW模式
7.6.2 使用FORXMLAUTO
7.7 使用xml數據類型
7.8 小結
第8章 了解事務
8.1 事務的概念
8.2 何時使用事務
8.3 理解ACID屬性
8.4 事務設計
8.5 事務狀態
8.6 指定事務界限
8.7 在事務中允許使用的T-SQL語句
8.8 SQLServer2005中的本地事務
8.9 SQLServer2005中的分布式事務
8.1 0編寫高效事務的准則
8.1 1如何編寫事務
8.1 1.1 在T-SQL中編寫事務
8.1 1.2 在ADO.NET中編寫事務
8.1 2小結
第9章 ADO.NET簡介
9.1 了解ADO.NET
9.2 開發ADO.NET的原因
9.3 從ADO到ADO.NET
9.3.1 ADO.NET並非ADO的新版本
9.3.2 ADO.NET和.NET基類庫
9.4 理解ADO.NET體系結構
9.5 使用SQLServer數據提供程序
9.6 使用OLEDB數據提供程序
9.7 使用ODBC數據提供程序
9.8 數據提供程序是API
9.9 小結
第10章 創建連接
10.1 數據提供程序連接類概述
10.2 使用SqlConnection連接到SQLServerExpress
10.2.1 調試到SQLServer的連接
10.2.2 SqlConnection中的安全與口令
10.2.3 使用SQLServer安全機制
10.2.4 SqlConnection中的連接字元串參數
10.2.5 連接池
10.3 連接對象的進階用法
10.3.1 在連接構造函數中使用連接字元串
10.3.2 顯示連接信息
10.4 用OleDbConnection連接到SSE
10.5 小結
第11章 執行命令
11.1 創建命令
11.1.1 關聯命令與連接
11.1.2 設置Command對象的文本
11.2 執行命令
11.3 執行具有多個結果的命令
11.4 執行語句
11.5 命令參數
11.6 小結
第12章 數據讀取器
12.1 數據讀取器概述
12.1.1 使用序數索引器
12.1.2 使用列名索引器
12.1.3 使用類型訪問器方法
12.2 獲取數據的信息
12.3 獲取表的數據
12.4 使用數據讀取器處理多個結果集
12.5 小結
第13章 使用數據集和數據適配器
13.1 理解對象模型
13.1.1 數據集與數據讀取器
13.1.2 數據集概述
13.1.3 數據適配器概述
13.1.4 DataTable、DataColumn和DataRow對象概述
13.2 使用數據集和數據適配器
13.2.1 數據集的篩選和排序
13.2.2 比較FilterSort和PopDataSet
13.2.3 使用數據視圖
13.2.4 修改數據集中的數據
13.3 將變化保存到數據源中
13.4 並發
13.5 使用數據集和XML
13.6 在沒有數據集的情況下使用數據表
13.7 理解有類型和無類型的數據集
13.8 小結
第14章 構建WindowsForms應用程序
14.1 理解WindowsForms
14.2 用戶界面設計原則
14.3 用戶界面設計的最佳實踐
14.4 利用WindowsForms
14.5 理解設計視圖和代碼視圖
14.6 屬性窗口中的排序屬性
14.6.1 分類視圖
14.6.2 按字母順序排列的視圖
14.7 設置解決方案、項目和WindowsForms屬性
14.8 利用控制項
14.9 設置Dock和Anchor屬性
14.9.1 Dock屬性
14.9.2 Anchor屬性
14.1 0為項目添加新窗體
14.1 1實現MDI窗體
14.1 2小結
第15章 構建ASP.NET應用程序
15.1 理解Web功能
15.1.1 Web伺服器
15.1.2 Web瀏覽器和HTTP
15.2 ASP.NET和Web頁面概述
15.3 理解VisualStudio2008
Web站點類型
15.3.1 文件系統Web站點
15.3.2 FTPWeb站點
15.3.3 HTTPWeb站點
15.4 ASP.NETWeb站點布局
15.4.1 Web頁面
15.4.2 應用程序文件夾
15.4.3 Web.config文件
15.5 使用Master頁面
15.6 小結
第16章 處理異常
16.1 處理ADO.NET異常
16.2 處理資料庫異常
16.3 小結
第17章 處理事件
17.1 理解事件
17.2 事件的屬性
17.3 設計事件
17.4 控制項引發的通用事件
17.5 事件生成器和使用者
17.6 小結1
第18章 使用文本和二進制數據
18.1 理解SQLServer文本和二進制數據類型
18.2 在資料庫中存儲圖像
18.3 從資料庫中檢索圖像
18.4 處理文本數據
18.5 小結
第19章 使用LINQ
19.1 LINQ概述
19.2 LINQ的體系結構
19.3 LINQ的項目結構
19.4 使用LINQtoObjects
19.5 使用LINQtoSQL
19.6 使用LINQtoXML
19.7 小結
第20章 使用ADO.NET3.5
20.1 理解ADO.NET3.5 EntityFramework
20.2 理解實體數據模型
20.3 利用實體數據模型
20.4 小結 由於大多數實際應用程序都要與存儲在關系資料庫中的數據進行交互,因此每個C#程序員需要知道如何訪問數據。本書主要介紹了如何使用C#2008與SQL Server 2005交互。還介紹了.NET Framework 3.5最令人激動的功能LINQ和ADO.NET 3.5。相比於純資料庫概念的書來說,本書闡明資料庫概念的章節將能更好地幫助您理解。本書還涉及了SQL Server 2005中的很多T-SQL新功能。
本書採用的編寫方式是編程新手容易理解的,而編程高手也能從本書受益。如果您想要使用Visual Studio 2008創建資料庫應用程序,那麼本書就非常適合您。本書不但介紹了應用程序開發人員可能使用的所有概念,還講解了在示常式序中使用的每一行代碼。
本書採用的組織方式是先幫助您打下牢固的基礎,然後進一步學習高級技能。
本書讀者對象
如果您是一位喜歡使用C#語言訪問資料庫的應用程序開發人員,那本書非常適合您,因為它介紹了使用C#2008進行SQL Server 2005編程。
本書不要求讀者事先了解C#2.0、SQL Server 2000和資料庫的概念。本書已經包含了其他書籍要求讀者學前需具備的所有基礎知識。
本書是任何想使用C#2008與資料庫進行交互的應用程序開發人員所應必備的。如果您就是其中一員,那本書將是您不可或缺的。本書內容簡介
本書包含了Visual Studio 2008、SQL Server 2005、C#2008、LINQ和ADO.NET 3.5等內容。所有這些主題都是以章的形式出現,並使用了不同的概念和代碼示例作了解釋。本書中的應用程序都是模仿了現實生活中的應用程序,因此通過對本書的學習,您可以在工作中利用這些概念。

熱點內容
sqlifthen男女 發布:2025-02-01 01:44:59 瀏覽:690
幻靈和安卓哪個互通 發布:2025-02-01 01:43:33 瀏覽:648
電腦配置夠但為什麼打lol掉幀 發布:2025-02-01 01:37:08 瀏覽:316
21款朗逸哪個配置比較劃算 發布:2025-02-01 01:35:32 瀏覽:976
建築動畫片腳本 發布:2025-02-01 01:35:21 瀏覽:469
管家婆如何用阿里雲伺服器 發布:2025-02-01 01:29:09 瀏覽:649
解壓耳放 發布:2025-02-01 01:20:18 瀏覽:175
cars演算法 發布:2025-02-01 01:02:26 瀏覽:177
資料庫超載 發布:2025-02-01 00:57:15 瀏覽:33
fgo安卓如何玩日服 發布:2025-02-01 00:49:40 瀏覽:716