~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/dynamic.rst

  • Committer: Marisa Plumb
  • Date: 2011-03-17 16:33:45 UTC
  • mto: This revision was merged to the branch mainline in revision 2283.
  • Revision ID: marisa.plumb@gmail.com-20110317163345-c9eslo1ipelgdr7x
doc fixes and additions 

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 
6
6
Dynamic SQL allows you to execute DDL statements (and other SQL statements) that are not supported in purely static SQL programs.
7
7
 
 
8
EXECUTE
 
9
--------
 
10
 
 
11
EXECUTE() is used to generate SQL in a dynamic manner on the server. It can select values inside of the database as variables, and then execute them from statements that are already stored as variables.
 
12
 
 
13
EXECUTE can be CONCURRENT and with NO RETURN.
 
14
 
8
15
In Drizzle you can use the EXECUTE command along with :doc:'user defined variables <variables>'
9
 
to create SQL in a dynamic manner on the server. An exmaple of this is:
 
16
to create SQL in a dynamic manner on the server. An example of this is:
10
17
 
11
18
.. code-block:: mysql
12
19
 
33
40
launched it. It can be killed via KILL and the system limit on total number
34
41
of sessions will be enforced.
35
42
 
36
 
.. todo::
37
 
 
38
 
   EXECUTE executes the statements inside an explicit transaction.
 
43
EXECUTE also executes the statements inside an explicit transaction.
 
44
 
 
45
The EXECUTE class has a run() method, which takes a std::string with SQL (to execute). Here is a simple example from the slave plugin code:
 
46
 
 
47
.. code-block:: mysql
 
48
 
 
49
        Execute execute(*(_session.get()), true);
 
50
        string sql("SELECT `transaction_id` FROM `sys-replication`.`queue`"
 
51
               " WHERE `commit_order` IS NOT NULL ORDER BY `commit_order` ASC");
 
52
        sql::ResultSet result_set(1);
 
53
        execute.run(sql, result_set);
 
54
 
 
55
In essence, EXECUTE wraps SQL (single or multiple statements) in a transaction and executes it.