これはサンプル手順です。
DROP PROCEDURE IF EXISTS AddEdge;
DELIMITER |
CREATE PROCEDURE AddEdge(
pSourceName VARCHAR(20), pDestinationName VARCHAR(20), pValue INT
)
BEGIN
DECLARE vSourceID, vDestinationID, vEdgeID INT;
SET vSourceID = ( SELECT NodeID FROM nodes WHERE NodeName = pSourceName );
IF vSourceID IS NULL THEN
BEGIN
INSERT INTO nodes (NodeName,Total) VALUES (pSourceName,0);
SET vSourceID = LAST_INSERT_ID();
END;
END IF;
SET vDestinationID = ( SELECT NodeID FROM nodes WHERE NodeName = pDestinationName );
IF vDestinationID IS NULL THEN
BEGIN
INSERT INTO nodes(NodeName, Total)
VALUES(pDestinationName,0);
SET vDestinationID = LAST_INSERT_ID();
END;
END IF;
SET vEdgeID = ( SELECT EdgeID FROM edges
WHERE sourceNodeID = vSourceID AND dID = vDestinationID
);
IF vEdgeID IS NULL THEN
INSERT INTO edges(sourceNodeID,destinationNodeID,value)
VALUES(vSourceNodeID,vDestinationID,pValue);
ELSE
UPDATE edges SET value = pValue
WHERE sourceNodeID = vSourceID AND destinationNodeID = vDestinationID;
END IF;
END;
|
DELIMITER
Androidで使用されているデータベースSQLiteで上記の手順を使用するにはどうすればよいですか?実際、私はandroid、つまりSQLiteでデータベースを処理するのは初めてです。
ありがとう。