Exemples
CREATE PROCEDURE ADD_BREED (
NAME D_BREEDNAME, /* Les caractéristiques du domaine sont héritées */
NAME_EN TYPE OF D_BREEDNAME, /* Seul le type de domaine est hérité */
SHORTNAME TYPE OF COLUMN BREED.SHORTNAME, /* Hérite du type de colonne de table */
REMARK VARCHAR(120) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
CODE_ANIMAL INT NOT NULL DEFAULT 1
)
RETURNS (
CODE_BREED INT
)
AS
BEGIN
INSERT INTO BREED (
CODE_ANIMAL, NAME, NAME_EN, SHORTNAME, REMARK)
VALUES (
:CODE_ANIMAL, :NAME, :NAME_EN, :SHORTNAME, :REMARK)
RETURNING CODE_BREED INTO CODE_BREED;
END
Idem, mais la procédure sera exécutée avec les droits de l’utilisateur qui la définit (propriétaire de la procédure).
CREATE PROCEDURE ADD_BREED (
NAME D_BREEDNAME, /* Les caractéristiques du domaine sont héritées */
NAME_EN TYPE OF D_BREEDNAME, /* Seul le type de domaine est hérité */
SHORTNAME TYPE OF COLUMN BREED.SHORTNAME, /* Hérite du type de colonne de table */
REMARK VARCHAR(120) CHARACTER SET WIN1251 COLLATE PXW_CYRL,
CODE_ANIMAL INT NOT NULL DEFAULT 1
)
RETURNS (
CODE_BREED INT
)
SQL SECURITY DEFINER
AS
BEGIN
INSERT INTO BREED (
CODE_ANIMAL, NAME, NAME_EN, SHORTNAME, REMARK)
VALUES (
:CODE_ANIMAL, :NAME, :NAME_EN, :SHORTNAME, :REMARK)
RETURNING CODE_BREED INTO CODE_BREED;
END
CREATE PROCEDURE gen_rows (
start_n INTEGER NOT NULL,
end_n INTEGER NOT NULL
) RETURNS (
n INTEGER NOT NULL
)
EXTERNAL NAME 'udrcpp_example!gen_rows'
ENGINE udr;