โค้ด: เลือกทั้งหมด
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 ได้ทันที
โค้ด: เลือกทั้งหมด
<?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);
?>
โค้ด: เลือกทั้งหมด
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
โค้ด: เลือกทั้งหมด
<?php
mysqli_close($conn);
?>
- โดยการ Imports MySql.Data.MySqlClient ซึ่งสามารถใช้คำสั่ง Call ได้ทันที
โค้ด: เลือกทั้งหมด
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 ได้ทันที
โค้ด: เลือกทั้งหมด
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 ได้ทันที
โค้ด: เลือกทั้งหมด
using MySql.Data.MySqlClient;
โค้ด: เลือกทั้งหมด
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;
}