プロシージャ | 用途 |
playdataByID | データを取得する(GET) |
insertPlaydata | データを追加する(PUT) |
deletePlaydata | データを削除する(DELETE) |
スクリプト | エディターにコピーする内容 |
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 |