android - SQLite中过程的使用和调用

标签 android database sqlite

这是示例程序。

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/

相关文章:

c# - Entity Framework Core 5 : configuring many to many relationships, 如何指定外键名称

sqlite - 将数据插入 blob

javascript - Javascript SQL INSERT 帮助

python - 使用 Python : Course registration data in JSON 处理数据库

java - Activity 'MainActivity' 未在 AndroidManifest.xml 中声明,尽管它存在

android - 使用 Dagger 2 提供一个空的 Providers 映射的 @Multibiding

java - Google Play 服务入门,无法解析符号

android - exoplayer- 自动更改质量不起作用 (hls)

database - Postgresql 相当于一个访问自动编号字段

java - 寻求一些了解 simpleCursorAdapter 工作原理的见解