这是示例程序。
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 中。
谢谢。
最佳答案
In order to achieve simplicity, SQLite has had to sacrifice other characteristics that some people find useful, such as high concurrency, fine-grained access control, a rich set of built-in functions, stored procedures, esoteric SQL language features, XML and/or Java extensions, tera- or peta-byte scalability, and so forth. -sqlite.org
但在这里您可以找到一些解决方法:Adding Stored Procedures to SQLite
关于android - SQLite中过程的使用和调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10750815/