當前位置:首頁 » 存儲配置 » mysql存儲過程列印輸出

mysql存儲過程列印輸出

發布時間: 2023-08-14 20:55:32

① mysql中如何在控制台列印信息.就如sqlserver里的print那樣

1、只能用 SELECT.就像下面這個 Hello World 一樣,mysql> DELIMITER //,mysql> CREATE PROCEDURE HelloWorld,BEGIN,SELECT 'Hello World',END/,Query OK, 0 rows affected (0.00 sec),mysql> call HelloWorld,Hello World ,row in set 0.00 sec,Query OK, 0 rows affected只有SELECT了。

2、mysql沒有sqlserver裡面控制台的概念,因為mysql全部都是控制台

② 在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程

在MySQL中如何創建一個帶輸出參數為一個表類型的存儲過程
首先需要知道「另一個存儲過程」的結果集的所有列的類型。
假設「另一個存儲過程」的名字是sp1,沒有參數,返回的結果集共3列,全部為int型,那麼「存儲過程」里添加一個與結果集列數相同的臨時表或表變數用於接收「另一個存儲過程」的結果集
如下
CREATE
PROCEDURE
sp2
AS
DECLARE
@t
table(a
int,b
int,c
int)
INSERT
INTO
@t(a,b,c)
EXEC
sp1
SELECT
*
FROM
@t
使用SQLSERVER存儲過程可以很大的提高程序運行速度,簡化編程維護難度,現已得到廣泛應用。
創建存儲過程
和數據表一樣,在使用之前需要創建存儲過程,它的簡明語法是:
引用:
Create
PROC
存儲過程名稱
[參數列表(多個以「,」分隔)]
AS
SQL
語句
例:
引用:
Create
PROC
upGetUserName
@intUserId
INT,
@ostrUserName
NVARCHAR(20)
OUTPUT
--
要輸出的參數
AS
BEGIN
--
將uName的值賦給
@ostrUserName
變數,即要輸出的參數
Select
@ostrUserName=uName
FROM
uUser
Where
uId=@intUserId
END
其中
Create
PROC
語句(完整語句為Create
PROCEDURE)的意思就是告訴SQL
SERVER,現在需要建立一個存儲過程,upGetUserName
就是存儲過程名稱,@intUserId

@ostrUserName
分別是該存儲過程的兩個參數,注意,在SQL
SERVER中,所有用戶定義的變數都以「@」開頭,OUTPUT關鍵字表示這個參數是用來輸出的,AS之後就是存儲過程內容了。只要將以上代碼在「查詢分析器」里執行一次,SQL
SERVER就會在當前資料庫中創建一個名為「upGetUserName」的存儲過程。你可以打開「企業管理器」,選擇當前操作的資料庫,然後在左邊的樹型列表中選擇「存儲過程」,此時就可以在右邊的列表中看到你剛剛創建的存儲過程了(如果沒有,刷新一下即可)。
二、存儲過程的調用
之前已經創建了一個名為「upGetUserName」的存儲過程,從字面理解該存儲過程的功能是用來取得某一個用戶的名稱。存儲過程建立好了,接下來就是要在應用程序里調用了,下面看一下在ASP程序里的調用。

③ C#中怎樣調用mySql的存儲過程並取得輸出參數

string MyConString = "..."
OdbcConnection conn = new OdbcConnection(MyConString);

conn.Open();
OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcere;
cmd.CommandText = "p_test";
OdbcParameter p1 = new OdbcParameter("t_count", OdbcType.Int);
p1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p1);

int i = cmd.ExecuteNonQuery();
TextBox1.Text = p1.Value.ToString();

conn.Close();

④ 在mysql中如何導出指定的存儲過程

方法一:從mysql維護的存儲過程表(mysql.proc)出:

select body
from mysql.proc
where name = 'simpleproc'
;

更詳細一點的:
select name , type , param_list ,returns , body , body_utf8
from mysql.proc
where name = 'simpleproc'
;

方法2:
select ROUTINE_DEFINITION , ROUTINE_TYPE , ROUTINE_NAME from information_schema.ROUTINES
where ROUTINE_NAME = 'simpleproc'
;

如果要導出,可以裝到一個表中導出:
create table mp_proc
as
select name, param_list ,returns, body
from mysql.proc
where name = 'simpleproc'
;

然後mp出來.或者 tee出到文件。

⑤ MySQL的存儲過程,怎麼沒法輸出結果

mysql中要獲得存儲過程的返回值,可以增加一個out參數,用來返回。
mysql中存儲過程的例子:
CREATE PROCEDURE addvoucher (
IN userid INT,
IN voucherid INT,
OUT result INT
)

⑥ 怎樣得到mysql存儲過程多條語句的結果集

存儲過程經常需要返回多個結果集。 Mysql 中直接用 select 即可返回結果集。而 oracle 則需要使用游標來返回結 果 集。這一點 Mysql 相對比較方便,如下代碼即可實現輸出兩個結果集:
CREATE PROCEDURE test_proc_multi_select()
BEGIN
select * from testproc;
select * from testproc where id=1;
END;
java 中利用循環,即可獲取結果集數據:

con = MConnection.getConn();
String sql = "{call test_proc_multi_select()}";
cs = con.prepareCall(sql);
boolean hadResults = cs.execute();
int i = 0;
while (hadResults) {
System.out.println("result No:----" + (++i));
ResultSet rs = cs.getResultSet();
while (rs != null && rs.next()) {
int id1 = rs.getInt(1);
String name1 = rs.getString(2);
System.out.println(id1 + ":" + name1);
}
hadResults = cs.getMoreResults(); // 檢查是否存在更多結果集
}

⑦ sql server存儲過程用print就能列印,mysql存儲過程能列印么應該也行吧,但是找不到呢

每種語言都有自己的特色:

sqlserver 可以 print,可以直接select 返回數據。

其他語言不一定能行的。
比如Oracle,就不能直接select,不能直接print返回數據,只能通過其他函數顯示在控制台上,無法返回。

mysql我不熟悉,但我想不一定有這種功能,用這個試試:

好像Mysql存儲過程中沒有列印語句,可以用select 來代替,比如:
select @var;

在換不同語言的時候,舊的習慣會很困擾我們的。

⑧ mysql里的列印(輸出)是那個命令,就是相當於mssql里的print

好像有點悲劇,只能用 SELECT.
就像下面這個 Hello World 一樣。

mysql> DELIMITER //
mysql> CREATE PROCEDURE HelloWorld()
-> BEGIN
-> SELECT 'Hello World';
-> END//
Query OK, 0 rows affected (0.00 sec)

mysql> call HelloWorld();
-> //
+-------------+
| Hello World |
+-------------+
| Hello World |
+-------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

⑨ 編寫java程序實現把MySQL資料庫中的student表中數據進行列印輸出

首先導入 mysql-connector-java-5.1.45-bin.jar 包7a686964616f31333365633936
代碼如下:

import java.io.*;import java.sql.*; public class App { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); // 資料庫用戶 String user = "root"; // 資料庫密碼 String password = ""; Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_sale", user, password); Statement stmt = conn.createStatement(); // 查詢 , 從資料庫 db_sale 的 proct 表中查詢 id, name, qty 欄位 ResultSet rs = stmt.executeQuery("SELECT id, name, qty FROM proct"); // 創建輸出文件 result.txt File file = new File("d://result.txt"); OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file)); while (rs.next()) { writer.write(String.valueOf(rs.getLong(1)) + "\t"); writer.write(rs.getString(2) + "\t"); writer.write(String.valueOf(rs.getInt(3))); writer.write("\r\n"); //System.out.println(rs.getLong(1)); //System.out.println(rs.getString(2)); //System.out.println(rs.getLong(3)); } writer.flush(); writer.close(); rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } }}

熱點內容
腳本微信取關 發布:2025-02-01 19:35:01 瀏覽:150
如何用雲伺服器部署svn 發布:2025-02-01 19:33:20 瀏覽:988
緩存迅雷 發布:2025-02-01 19:31:53 瀏覽:974
linux與unixshell編程指南 發布:2025-02-01 19:25:03 瀏覽:939
護膚品資料庫 發布:2025-02-01 19:25:02 瀏覽:648
python接受json數據 發布:2025-02-01 19:24:24 瀏覽:942
修改網站資料庫 發布:2025-02-01 19:02:16 瀏覽:423
果粉不換安卓怎麼辦 發布:2025-02-01 18:57:21 瀏覽:796
網頁卡需要什麼配置 發布:2025-02-01 18:50:30 瀏覽:136
編程玩家 發布:2025-02-01 18:22:36 瀏覽:823