Code: Select all
DROP PROCEDURE IF EXISTS getCustomer;
DELIMITER //
CREATE PROCEDURE getCustomer(IN pCountryCode VARCHAR(2))
BEGIN
SELECT * FROM customer WHERE COUNTRY_CODE = pCountryCode;
END //
DELIMITER ;
ตัวอย่างการเรียกใช้ด้วย PHP :
- โดยการใช้ฟังก์ชั่น ของ mysqli ซึ่งสามารถใช้คำสั่ง Call ได้ทันที
Code: Select all
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "CALL getCustomer('US')";
$query = mysqli_query($conn,$sql);
?>
Code: Select all
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
Code: Select all
<?php
mysqli_close($conn);
?>
- โดยการ Imports MySql.Data.MySqlClient ซึ่งสามารถใช้คำสั่ง Call ได้ทันที
Code: Select all
Imports MySql.Data.MySqlClient
Imports System.Data
Module MyModule
Sub Main()
Dim objConn As New MySqlConnection()
Dim objCmd As New MySqlCommand()
Dim dtAdapter As New MySqlDataAdapter()
Dim ds As New DataSet()
Dim dt As DataTable
Dim strConnString As String, strSQL As String
strConnString = "Server=localhost;User Id=root; Password=root; Database=mydatabase; Pooling=false"
strSQL = "CALL getCustomer('US')"
objConn.ConnectionString = strConnString
objConn.Open()
objCmd.Connection = objConn
objCmd.CommandText = strSQL
objCmd.CommandType = CommandType.Text
dtAdapter.SelectCommand = objCmd
dtAdapter.Fill(ds)
dt = ds.Tables(0)
For i As Integer = 0 To dt.Rows.Count - 1
Console.Write(dt.Rows(i)("CUSTOMER_ID"))
Console.Write(" - ")
Console.Write(dt.Rows(i)("NAME"))
Console.Write(" - ")
Console.Write(dt.Rows(i)("EMAIL"))
Console.Write("")
Next
dtAdapter = Nothing
objConn.Close()
objConn = Nothing
End Sub
End Module
- โดยการใช้ com.mysql.jdbc.Driver ซึ่งสามารถใช้คำสั่ง Call ได้ทันที
Code: Select all
public static void main(String[] args) {
Connection connect = null;
Statement s = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase" +
"?user=root&password=root");
s = connect.createStatement();
String CountryCode = "US";
String sql = "CALL getCustomer('" + CountryCode + "') ";
ResultSet rec = s.executeQuery(sql);
while((rec!=null) && (rec.next()))
{
System.out.print(rec.getString("CUSTOMER_ID"));
System.out.print(" - ");
System.out.print(rec.getString("NAME"));
System.out.print(" - ");
System.out.print(rec.getString("EMAIL"));
System.out.println("");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Close
try {
if(connect != null){
s.close();
connect.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- โดยการใช้ MySql.Data.MySqlClientr ซึ่งสามารถใช้คำสั่ง Call ได้ทันที
Code: Select all
using MySql.Data.MySqlClient;
Code: Select all
static void Main(string[] args)
{
MySqlConnection objConn = new MySqlConnection();
MySqlCommand objCmd = new MySqlCommand();
MySqlDataAdapter dtAdapter = new MySqlDataAdapter();
DataSet ds = new DataSet();
DataTable dt;
String strConnString, strSQL;
strConnString = "Server=localhost;User Id=root; Password=root; " +
"Database=mydatabase; Pooling=false";
strSQL = "CALL getCustomer('US')";
objConn.ConnectionString = strConnString;
objConn.Open();
objCmd.Connection = objConn;
objCmd.CommandText = strSQL;
objCmd.CommandType = CommandType.Text;
dtAdapter.SelectCommand = objCmd;
dtAdapter.Fill(ds);
dt = ds.Tables[0];
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
Console.Write(dt.Rows[i]["CUSTOMER_ID"]);
Console.Write(" - ");
Console.Write(dt.Rows[i]["NAME"]);
Console.Write(" - ");
Console.Write(dt.Rows[i]["EMAIL"]);
Console.Write("");
}
dtAdapter = null;
objConn.Close();
objConn = null;
}