Choose your database:
AnySQL
MySQL
MS SQL Server
PostgreSQL
SQLite
Firebird
Oracle
SQL Anywhere
DB2
MaxDB

Subscribe to our news:
Partners
Testimonials
Brian Vivian: "Thank you very much for making such a great product. It makes my job a LOT easier".
Stephen Arrowel, Database Administrator: "We are in the process of implementing Firebird solutions at multiple levels in our international organization. We expect that SQL Maestro Group will do nothing short of revolutionize the way we develop and maintain our Firebird databases. The continuous improvement and development means that the product is extremely flexible and will grow with us. The service and responsiveness of the Support Team has been exceptional. They have devoted countless hours to understanding our needs, so that we could get a Firebird administration tool which would be so simple and effective in use. SQL Maestro Group is helping Sytrax sail into the 21st Century".

More

Add your opinion

Firebird Maestro online Help

Prev Return to chapter overview Next

Packages

A package is a group of procedures and functions managed as one entity. The notion of “packaging” the code components of a database operation addresses several objectives:

Modularisation
To facilitate dependency tracking
To facilitate permission management
To enable “private scope”

Packaged routines do not have individual privileges. The privileges act on the package. Privileges granted to packages are valid for all package body routines, including private ones, but are stored for the package header.

 

All programming languages have the notion of routine scope, which is not possible without some form of grouping. Firebird packages also work like Delphi units in this regard. If a routine is not declared in the package header (interface) and is implemented in the body (implementation), it becomes a private routine. A private routine can only be called from inside its package.

 

 

New packages are created within Create Package Wizard. In order to run the wizard you should either

 

select the Object | Create Database Object... main menu item;
select the Package icon in the Create Database Object dialog

or

select the Package list or any object from that list in the explorer tree;
select the Create New Package... item from the popup menu

or

open the schema in Schema Editor and the Packages tab there;
press the Insert key or select the Create New Package... item from the popup menu (alternatively, you may use the corresponding link of the Navigation Bar).

       

To create a new package with the same properties as one of the existing package has:

 

select the Object | Duplicate Database Object... main menu item;
follow the instructions of Duplicate Object Wizard.

 

 

 

Packages can be edited within Package Editor. In order to run the editor you should either

 

select the package for editing in the explorer tree (type the first letters of the package name for quick search);
select the Edit Package ... item from the popup menu

or

open the schema in Schema Editor and the Packages tab there;
select the package to edit;
press the Enter key or select the Edit Package item from the popup menu (alternatively, you may use the corresponding link of the Navigation Bar).

 

You can change the name of the package using the Rename Package dialog. To open the dialog you should either

 

select the package to rename in the explorer tree;
select the Rename Package item from the popup menu

or

open the schema in Schema Editor and the Packages tab there;
select the package to rename;
select the Rename Package item from the popup menu (alternatively, you may use the corresponding link of the Navigation Bar).

 

 

 

To drop a package:

 

select the package to drop in the explorer tree;
select the Drop Package item from the popup menu

or

open the schema in Schema Editor and the Packages tab there;
select the package to drop;
press the Delete key or select the Drop Package item from the popup menu (alternatively, you may use the corresponding link of the Navigation Bar)

 

and confirm dropping in the dialog window.

 



Prev Return to chapter overview Next