跳转到主要内容

一系列工具,使使用SQL变得更加容易

项目描述

https://travis-ci.org/WebSQL/sdk.svg?branch=master https://coveralls.io/repos/WebSQL/sdk/badge.png?branch=master

一系列使使用SQL过程更容易的工具。

语法

  • #include “<filename>” - 包含指定的文件名,支持绝对和相对URL。

  • #define name <value> - 指定值,可以作为 $name 使用。

  • #define name(arg1, …, argN) - 可用作 $name(a1,…aN) 的函数。

  • #undef name - 取消之前定义的指令。

  • #if condition expression else alternative - 条件表达式。

  • SELECT … ; – > array - 提示,告知查询返回多个元素。

  • SELECT … ; – > object - 提示,告知查询返回正好一个元素。

  • COMMENT “returns union” - 提示,将结果集中的所有对象合并为一个。

  • COMMENT “<table name> (<colum name column type>, …);” - 提示,允许通过临时表传递参数列表到过程。

wsql-trans

扩展了原生的SQL。

支持

#define table_name "mytable"
select * from $table_name;
  • 宏函数

#define quote(a) "a"
select upper(quote(a));
  • 条件

#define a 1
#if a == 1
select * from t1;
#else
select * from t2;
#endif
  • 包含

#include "common.sql"

wsql-codegen

生成用于处理SQL过程的本地代码。目前支持python3本地和aio。C++正在开发中。需要WSQL

提示

  • SELECT … ; – > array - 提示,告知查询返回多个元素。

  • SELECT … ; – > object - 提示,告知查询返回正好一个元素。

  • COMMENT “returns union” - 提示,将结果集中的所有对象合并为一个。

  • COMMENT “<table name> (<colum name column type>, …);” - 提示,允许通过临时表传递参数列表到过程。

SQL

CREATE PROCEDURE table1.insert (value VARCHAR(10))
BEGIN
    INSERT INTO table1 (value) VALUES(value);
    SELECT LAST_INSERT_ID() AS id;
END

Python3

@coroutine
def insert(connection, value=None):
    """
    insert, table1
    :param value: the value(VARCHAR(10), IN))
    :return (id,)
    """
    @coroutine
    def __query(__connection):
        __cursor = __connection.cursor()
        try:
            yield from __cursor.callproc(b"procedure4", (value,))
            return (yield from __cursor.fetchall())[0]
        finally:
            yield from __cursor.close()
    try:
        return (yield from connection.execute(__query))
    except Error as e:
        raise handle_error(exceptions, e)

项目详情


下载文件

下载适用于您平台的应用文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

wsql_sdk-0.3.17.tar.gz (633.2 kB 查看哈希值)

上传时间

由以下支持