`

MySQL、SqlServer、postgresql自定义函数和存储过程

阅读更多
一、MySQL
1、MySQL自定义函数及调用
-- 报错his function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logg,解决办法
set global log_bin_trust_function_creators=TRUE;
-- 自定义函数
CREATE FUNCTION mytest (a INT, b INT) RETURNS INT
BEGIN
RETURN a + b;
END
-- 调用自定义函数
SELECT mytest(4,2);
 
2、MySQL自定义存储过程及调用
-- 创建自定义存储过程
CREATE PROCEDURE myPro(a INT,b INT)
BEGIN
INSERT INTO `mg`.`mg_favorites` (
`regnumber`,
`type`,
`object_id`,
`ctime`
)
VALUES
(
a,
b,
'12784',
'1471871232'
);
END
-- 调用自定义存储过程
CALL myPro(1,2);
 
二、SqlServer
1、SqlServer自定义函数及调用
-- 自定义函数
CREATE FUNCTION dbo.mytest (@a INT ,@b INT) RETURNS INT AS
BEGIN
RETURN @a +@b
END
 
-- 调用自定义函数
SELECT dbo.mytest(1,2);
 
2、SqlServer自定义存储过程及调用
-- 自定义存储过程
CREATE PROCEDURE dbo.insertActiveData (@dataCount INT) AS
BEGIN
DECLARE
@i INT ;
SET @i = 0 ;
WHILE @i < @dataCount
BEGIN
INSERT INTO log_DeviceInfo (
[Idfa],
[Idfa_MD5],
[IsDel],
[CreateDate],
[EditDate],
[ClientIP],
[OsType],
[PhoneType],
[SystemVersion],
[StartDate],
[Idfa_UP_MD5],
[Imei],
[Channel]
)
VALUES
(
'868029027522895',
'9FD47F63EADB66590A531884215F6212',
'0',
'2018-02-05 19:10:57.920',
'2018-02-05 19:10:57.920',
'112.227.78.1',
'android',
'Redmi+Note+3',
'5.0.2',
'2018-02-05 19:07:54.000',
'9FD47F63EADB66590A531884215F6212',
'868029027511111',
'WHAN_XM'
) ;
SET @i = @i + 1 ;
END
END
 
-- 调用存储过程
EXECUTE dbo.insertActiveData 10000 ;
 
三、postgresql
1、postgresql自定义函数及调用
-- 创建自定义函数
CREATE
OR REPLACE FUNCTION test_function (INTEGER) RETURNS INTEGER AS
$$
DECLARE
b_count ALIAS FOR $1 ;
BEGIN
while b_count > 0 loop INSERT INTO "public"."call_log" (
"app_id",
"platform_id",
"call_id",
"type",
"extension_number",
"use_long",
"use_time",
"recording_file",
"calling_number",
"called_number",
"province",
"city",
"editor",
"edit_time",
"creator",
"create_time",
"app_account_id"
)
VALUES
(
'19',
'1',
'1505722054.5600903',
'1',
'2009',
NULL,
'2017-09-18 16:11:25.466',
NULL,
'28306099',
'15088052151',
'广东',
'广州',
'19',
'2017-09-18 16:44:14.801',
'19',
'2017-09-18 16:07:48.097615',
NULL
) ;
b_count := b_count-1 ;
END loop ;
RETURN b_count ;
END;
$$
LANGUAGE plpgsql;
-- 调用自定义函数
SELECT test_function (100000);
 
分享到:
评论

相关推荐

    Sqlserver、Oracle、MySql、PostgreSql、SqlLite数据库差异

    Sqlserver、Oracle、MySql、PostgreSql、SqlLite常用数据库的对比 1、分页 2、时间函数 3、自增列 4、表名规范 5、字符串连接 6、变量定义 7、其它

    Navicat Premium 11.0.16

    结合了其 Navicat 成员的功能的 Navicat Premium 支持大份 MySQL SQL Server SQLite Oracle 和 PostgreSQL 的功能 包括存储过程 事件 触发器 函数 视图等 Navicat Premium 能使你简单并快速地在各种数据库系统间...

    SQL_SERVER应用与开发范例宝典_12357672.part3

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    SQL_SERVER应用与开发范例宝典_12357672.part2

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    Navicat Premium操作手册.7z

    4PostgreSQL 触发器99PostgreSQL 触发函数100PostgreSQL 类型102PostgreSQL 表空间104PostgreSQL 编制105PostgreSQL 语言105SQLite 对象106SQLite 表106SQLite 表栏位107SQLite 表索引108SQLite 表外键109SQLite 表...

    SQL_SERVER应用与开发范例宝典_12357672.part1

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    Navicat Premium 11.2.11 32位 简体中文和谐版

    Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到MySQL、SQL ...它支持大部份 MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL 的功能,包括存储过程,事件,触发器,函数,视图等。

    Navicat Premium 11.2.11 64位 简体中文和谐版

    Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到MySQL、SQL ...它支持大部份 MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL 的功能,包括存储过程,事件,触发器,函数,视图等。

    SQL应用开发范例宝典:SQL应用开发范例宝典.iso (源码光盘)

    涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组...

    dbgate:MySQL,PostgreSQL和SQL Server的数据库管理器。 在Windows,Linux,Mac上或作为Web应用程序运行

    适用于MySQL,PostgreSQL和SQL Server。 在线尝试在线演示应用程序 从下载Windows,Linux或Mac的应用程序 以或运行Web版本 特征 连接到Microsoft SQL Server,Postgre SQL,MySQL 表数据编辑,带有SQL更改脚本...

    PostgreSQL v9.3 For Win.zip

    符合ANSI SQL 92和ANSI SQL 99标准,是目前功能最强、最稳定的开放源代码数据库产品,具有存储过程、事务、视图、触发器等功能,与MySQL相比,PostgreSQL注重整体性能和稳定性。   我们非常高兴的宣布 PostgreSQL...

    Navicat for MySQL 10.1.7中文注册版

    Navicat for MySQL软件可以让数据库管理员可以方便轻松的管理mysql数据库,比如创建数据表、触发器、存储过程、函数、视图等。友好的gui界面为数据库管理人员节约了大量的时间,降低了企业的开发成本。 新版本...

    postgresql-9.3.25-1-windows-x64

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:...

    postgresql-9.4.21-1-windows-x64

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:...

    PostgreSQL v11.2 For Win

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL 不寻常的名字导致一些读者停下来尝试拼读它,特别...

    Navicat Premium 11.0.17 64位中文版

    结合了其他 Navicat 成员的功能,Navicat Premium 支持大份 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的功能,包括存储过程、事件、触发器、函数、视图等。 Navicat Premium 能使你简单并快速地...

    PostgreSQL v9.6.12 For Win

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL 不寻常的名字导致一些读者停下来尝试拼读它,特别...

    PostgreSQL v9.6.12 For Linux

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL 不寻常的名字导致一些读者停下来尝试拼读它,特别...

    postgresql-8.3.3-1

    它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。 PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:...

    MYSQL

    Apache一起使用 MySQL 18 问题和常见的错误 18.1 如果 MySQL总是崩溃怎么办 18.2 使用 MySQL 时一些常见错误 18.2.1 MySQL server has gone away错误 18.2.2 Can't connect to [local] MySQL ...

Global site tag (gtag.js) - Google Analytics