sql返回結果集
Ⅰ sql查詢語句怎樣限定返回結果集的行數
1、創建測試表,create table test_rows(id number, value varchar(200));
Ⅱ sql存儲過程返回多個結果集默認哪個
存儲過程如果返回多個記錄集的情況下,默認返回的是第一個記錄集。至於多個記錄集的排序順序則取決於存儲過程中的定義。
Ⅲ sql server 存儲過程返回結果集存入臨時表
1
用ado,連接字元串參考下面纖嫌代碼.
dim
sa
as
string
'ip方式
sa
=
"provider=sqloledb;
data
source=
dbserver
,1433;
network
library=dbmssocn;
;initial
catalog=
dbdatabasename
;user
id=
dbusername
;password=
dbpassword"
『計算機名方式
sa
=
"provider=sqloledb;data
source=dbservername;initial
catalog=dbdatabasename
;user
id=
dbusername
;password=
dbpassword「
2
打開聯接後不要用者余command,用cn
rs=cn.execute(」test()「)
』有參數的例子
rs=cn.execute(」test(1,22,』abc『)「毀嫌手)
Ⅳ 求助,sqlserver2005存儲過程如何返回這樣的結果集
部署CLR存儲過程
上面的示例代碼需要進行編譯才能通過存儲過程來調用。在命令行中執行下面的命令來編譯這些代碼並創建類庫DLL MSSQLTipsCLRLib.dll:
CSC/target:libraryStoredProceres.cs/out:MSSQLTipsCLRLib.dll
假設你使用的是Microsoft .NET框架的第二版本,那麼你可以在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目錄下看到CSC.EXE。
執行下面的T-SQL腳本來創建這個存儲過程:
ALTERDATABASEmssqltips
FROM'C:\mssqltips\MSSQLTipsCLRLib.dll'
WITHPERMISSION_SET=EXTERNAL_ACCESSGOCREATEPROCEDUREdbo.GetListOfFiles
@pathNVARCHAR(256)
,@patternNVARCHAR(64)
,@.StoredProceres.GetListOfFiles
在編譯了這個代碼到類庫(.dll)之後,CREATE ASSEMBLY命令就被執行了,它將這個DLL與ASSEMBLY資料庫對象關聯起來。FROM條件從句必須指向DLL的實際路徑。PERMISSION_SET必須設置為EXTERNAL_ACCESS,因為.NET代碼將訪問SQL Server 之外的文件系統。TRUSTWORTHY選項被設置為on,以允許外部訪問。最後,CREATE PROCEDURE命令的EXTERNAME NAME將這個集合、類和函數與這個存儲過程名稱關聯起來。
要執行這個存儲過程,執行下面的腳本:
EXECdbo.GetListOfFiles'C:\mssqltips','*.*',0
你將看到類似於下面的輸出,這取決於你選擇的文件夾的內容;例如,一個只有一列、每一行是一個文件的結果集:圖2接下來的步驟
在這里下載示例腳本並執行從一個CLR存儲過程返回結果集。
記住,當在Microsoft .NET框架中有滿足你需求的函數時,使用SQL Server的CLR可能是個很好的解決方法。
Ⅳ java 獲取SQL查詢語句返回的結果
step1:構造連接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");
step2:構造語句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //給SQL的"?"(問號)傳值。
step3:執行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結果集
step4:處理結果(java 獲取SQL查詢語句返回的結果)
List list = new ArrayList();
//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這里就會循環多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這里可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結果集,這樣寫就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這些User對象都放存入到了一個list
step4:關閉連接等
Ⅵ 關於SQL語句Select返回,是結果集還是單一值
關於返回什麼,是由你的select 語句後面的語句決定,最終呈現的是什麼?
例如 :select * from table 返回的肯定是一個結果集
例如:select top 1 name from table 返回的就是一個單一的具體name對應的值了
Ⅶ sql中如何通過存儲過程返回結果集
引用
4
樓
oraclefans_
的回復:想麻煩了。。你直接返回遊標就是一個結果集合。。CREATE
OR
REPLACE
PROCEDURE
USP_RETN_VAL(
RETN_VAL_CUR
OUT
sys_refcursor)ISBEGIN
OPEN
RETN_VAL_CUR
FOR
SELECT
*
FROM
TBL1;END;調用declare
cur
sys_refcurso……謝謝
但是我是想執行一個存儲過程後,直接返回表裡所有數據,不要再去操作游標。
Ⅷ SQL語句對返回的結果集里的欄位再進行條件查詢,在一個結果集顯示
這個sql可以通過將初始查詢結果集用括弧括起來當作一個子查詢(也可以稱之為虛擬表),然後再對其實施進一步篩選從而獲得另一個結果集的辦法予以實現。
例如列出各科平均分在80到90分的同學姓名和各科平均分
select stu.name,t.平均分 from stu,
(select sid,avg(score) as 平均分 from scores group by sid)t
where stu.sid=t.sid and t.平均分 between 80 and 90;
事實上Sql可以通過這種方法實現多重子查詢篩選、嵌套和連接非常方便。
Ⅸ java 獲取SQL查詢語句返回的結果
step1:構造連接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");
step2:構造語句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //給SQL的"?"(問號)傳值。
step3:執行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢鋒昌語句返回的結果集
step4:處理結果(java 獲取SQL查詢語句返回的結果)
List list = new ArrayList();
//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這里就會循環多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這里可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結果集,這樣寫就可以衫基搭了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這或拿些User對象都放存入到了一個list
step4:關閉連接等
Ⅹ SQL SERVER怎麼獲取存儲過程返回的數據集
數據集可以用print的方式返回。
1、創建測試表、插入數據:
createtabletest
(idintnotnull,
namevarchar(10))
insertintotestvalues(1,'張三')
insertintotestvalues(2,'李四')
表裡數據如圖: