チュートリアルガイド > RESTチュートリアル > このチュートリアルで使用するStudioリソースを作成する > プロシージャの作成
 
プロシージャの作成
次に、演劇データを検索、追加、および削除するプロシージャをTDV内で作成します。
プロシージャ
用途
playdataByID
データを取得する(GET)
insertPlaydata
データを追加する(PUT)
deletePlaydata
データを削除する(DELETE)
データの取得、追加、削除に必要なプロシージャの作成
1.Studioを開きます。
2.3つの各スクリプトで、Studioのツリーを右クリックして[New SQL Script(新しいSQLスクリプト)]を選択します。
3.各スクリプトに次の名前を付けます。
- playdataByID
- insertPlaydata
- deletePlaydata
4.該当するスクリプトの内容をエディターにコピーします。
 
スクリプト
エディターにコピーする内容
deletePlaydata
PROCEDURE deletePlaydata(
IN pk VARCHAR(250),
OUT response VARCHAR(250)
)
BEGIN
INDEPENDENT TRANSACTION
delete from /shared/playdata/Vplaydata
where ID = pk;
set response='row '|| pk || ' deleted';
COMMIT;
END
insertPlaydata
PROCEDURE insertPlaydata(
IN id_val VARCHAR(250),
IN name_val VARCHAR(250),
IN author_val VARCHAR(250),
OUT response VARCHAR(250)
)
BEGIN
INDEPENDENT TRANSACTION
DECLARE r ROW (ID VARCHAR(250));
DECLARE c CURSOR(ID VARCHAR(250));
set response='row '|| id_val || ' already EXISTS!';
 
OPEN c FOR
SELECT cs.ID FROM /shared/playdata/Vplaydata cs
WHERE cs.ID=id_val;
FETCH c INTO r;
IF NOT c.FOUND
THEN
INSERT INTO /shared/playdata/Vplaydata (ID,name,author)
VALUES (id_val, name_val,author_val);
set response='row '|| id_val || ' inserted';
END IF;
COMMIT;
END
playdataByID
PROCEDURE playdataByID(
IN id_arg INTEGER,
OUT result CURSOR (
ID INTEGER,
name VARCHAR(32768),
author VARCHAR(32768)
)
)
BEGIN
DECLARE isnull varchar(12);
set isnull=nvl2(id_arg,''||id_arg,'true');
IF isnull <> 'true'
THEN
OPEN result FOR
SELECT
id_arg ID,
Vplaydata.name,
Vplaydata.author
FROM
/shared/playdata/Vplaydata Vplaydata
WHERE
id_arg = Vplaydata.ID;
ELSEIF isnull='true'
THEN
OPEN result FOR
SELECT
CAST(Vplaydata.ID as INTEGER) ID,
Vplaydata.name,
Vplaydata.author
FROM
/shared/playdata/Vplaydata Vplaydata;
END IF;
END
5.各プロシージャを保存します。