相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 285.1 kb
PDF (A4)- 286.0 kb


MySQL连接器/ c++ 1.1开发指南/连接器/ c++教程/使用语句对象调用存储过程

7.2用。调用存储过程声明对象

方法可以调用存储过程声明PreparedStatement对象。本节演示如何使用声明对象。看看怎么用PreparedStatement对象,看到第7.3节,“用PreparedStatement对象”

下面的列表描述了可以构造和调用的不同类型的存储过程,以及演示每种类型的示例存储过程:

  1. 不返回结果的存储过程。例如,这样的存储过程可以记录非关键信息,或以直接的方式更改数据库数据。

    下面的过程将一个国家添加到世界数据库,但不返回结果:

    CREATE PROCEDURE add_country (IN country_code CHAR(3), IN country_name CHAR(52), IN continent_name CHAR(30)) BEGIN INSERT INTO Country(Code, Name, Continent) VALUES (IN country_code, country_name, continent_name);结束;
  2. 使用输出参数返回一个或多个值的存储过程。例如,这样的过程可以指示成功或失败,或者检索和返回数据项。

    以下过程使用输出参数返回指定国家或大陆或整个世界的人口:

    CREATE PROCEDURE (IN country_name CHAR(52), OUT country_pop BIGINT) BEGIN SELECT Population INTO country_pop FROM Country WHERE Name = country_name;结束;
    创建过程get_pop_continent (IN continent_name CHAR(30), OUT continent_pop BIGINT) BEGIN SELECT SUM(Population) INTO continent_pop FROM Country WHERE Continent = continent_name;结束;
    SELECT SUM(Population) INTO world_pop FROM Country;结束;
  3. 返回一个或多个结果集的存储过程。过程可以执行一个或多个查询,每个查询返回任意数量的行。应用程序循环遍历每个结果集以显示、转换或以其他方式处理其中的每一行。

    这个过程返回几个结果集:

    SELECT Code, Name, Population, continental FROM Country WHERE Continent = 'Oceania' AND Population < 10000;SELECT Code, Name, Population, continental = 'Europe' AND Population < 10000SELECT Code, Name, Population, continental = 'North America' AND Population < 10000结束;

手动输入并测试存储过程,以确保它们可用于您的c++应用程序。(选择世界作为默认数据库,然后再创建它们。)现在可以开始使用调用存储过程的Connector/ c++编写应用程序了。