CREATE PROCEDURE

From Recital Documentation Wiki
Revision as of 10:24, 28 April 2009 by Yvonnemilne (Talk | contribs)

Jump to: navigation, search

Class

Databases


Purpose

Creates a stored procedure in a database


Syntax

CREATE PROCEDURE [<database>!]<procname> AS <procedure source code>

ENDCREATE


See Also

ADATABASES(), ADD TABLE, ALTER INDEX, ALTER TABLE, BACKUP DATABASE, CLOSE DATABASES, CLOSE TABLES, COMPILE DATABASE, CREATE DATABASE, CREATE TABLE, CREATE INDEX, CREATE VIEW, DATABASE(), DB_DATADIR, DBUSED(), DISPLAY DATABASE, DISPLAY INDEXES, DISPLAY TABLES, DROP DATABASE, DROP INDEX, DROP PROCEDURE, DROP TABLE, GETENV(), LIST DATABASE, LIST INDEXES, LIST TABLES, OPEN DATABASE, PACK DATABASE, REBUILD DATABASE, REINDEX DATABASE, RESTORE DATABASE, SET AUTOCATALOG, SET EXCLUSIVE, SET SQL, USE


Description

The CREATE PROCEDURE command creates a new stored procedure in a database. If the database name, <database>!, is specified, the stored procedure will be created in that database, otherwise the stored procedure will be created in the currently open database. If no database is open and no <database>! is specified, an error occurs. A prefix of 'sp_' is added to the specified <procname> stored procedure name when the file is created. No file extension should be included in <procname>: the file will be given a '.prg' file extension. The SQL dialect must be set to VFP before issuing the CREATE PROCEDURE command. The SQL dialect can be set using the SET SQL TO <dialect> command.

Databases in Recital are implemented as directories containing files that correspond to the tables and associated files in the database. Operating System file protection can be applied individually to the files for added security. The directories are sub-directories of the Recital data directory. The environment variable / symbol DB_DATADIR points to the current Recital data directory and can be queried using the GETENV() function. Files from other directories can be added to the database using the ADD TABLE command or via the database catalog and SET AUTOCATALOG functionality.


Example

// config.db
set sql to vfp
set sql on
// end of config.db
 
// creaproc.prg
OPEN DATABASE southwind
CREATE PROCEDURE creaxml AS
SELECT orders.orderid, orders.customerid, employees.employeeid, employees.lastname,
  employees.firstname, orders.orderdate, orders.freight, orders.requireddate, orders.shippeddate,
  orders.shipvia, orders.shipname, orders.shipaddress, orders.shipcity, orders.shipregion,
  orders.shippostalcode, orders.shipcountry, customers.companyname, customers.address,
  customers.city, customers.region, customers.postalcode, customers.country
  FROM orders INNER JOIN customers ON customers.customerid = orders.customerid,
  orders INNER JOIN employees ON orders.employeeid = employees.employeeid
  SAVE AS XML orderinfo
ENDCREATE
// end of creaproc.prg


Products

Recital Database Server, Recital Mirage Server, Recital Terminal Developer