一系列工具,使使用SQL变得更加容易
项目描述
一系列使使用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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8d31148bc59eedc4bb23fb0c92fc066c3e0ac1d09ca4a77917b1e42f512ed771 |
|
MD5 | 44c843d478e61f0cf3f46e16229dd882 |
|
BLAKE2b-256 | 83c2d7fb36dee4f45e55671a25c2fbdc777acdc2f303f215d1d635a33b53ec53 |