亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL創(chuàng)建并調(diào)用自定義函數(shù)方式

 更新時間:2025年05月24日 09:38:08   作者:壹業(yè)  
這篇文章主要介紹了MySQL創(chuàng)建并調(diào)用自定義函數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

創(chuàng)建方法拼接SQL

DELIMITER $$
DROP FUNCTION IF EXISTS genPerson$$
CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50)
BEGIN
  DECLARE str VARCHAR(50) DEFAULT '';
  SET @tableName=name;
  SET str=CONCAT('create table ', @tableName,'(id int, name varchar(20));');
  return str;
END $$
DELIMITER ;
  • (1)DELIMITER $$ 定義結束符。MySQL默認的結束符是分號,但是函數(shù)體中可能用到分號。為了避免沖突,需要另外定義結束符。
  • (2)DROP FUNCTION IF EXISTS genPerson$$ 如果函數(shù)genPerson已經(jīng)存在了,就刪除掉。
  • (3)CREATE FUNCTION 創(chuàng)建函數(shù)genPerson,函數(shù)的參數(shù)是name,返回值是varchar(50)。
  • (4)函數(shù)體放在BEGIN 與 END之間。
  • (5)DECLARE 聲明變量,str類型是varchar(50),默認值是空。
  • (6)CONCAT連接多個字符串。
  • (7)RETURN 返回拼接后的字符串str。

創(chuàng)建方法直接寫SQL

DELIMITER $$
DROP FUNCTION IF EXISTS getNthHighestSalary$$
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
	SET N = N -1;
  RETURN (
      # Write your MySQL query statement below.
      select ifnull((select distinct id from user order by id desc limit 1 OFFSET n),null)
  );
END

調(diào)用方法

select genPerson('student');
select getNthHighestSalary(2)

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • mysql字符串格式化方式

    mysql字符串格式化方式

    這篇文章主要介紹了mysql字符串格式化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql中explain用法詳解

    mysql中explain用法詳解

    EXPLAIN用于SELECT語句中的每個表返回一行信息。表以它們在處理查詢過程中將被MySQL讀入的順序被列出
    2013-02-02
  • SQL Server 2005 安裝遇到的錯誤提示和解決方法

    SQL Server 2005 安裝遇到的錯誤提示和解決方法

    在安裝SQL Server 2005時有時會出現(xiàn)意想不到的問題,如IIS,性能計數(shù)器,OWC11,無法配置外圍應用的問題,下面筆者分享一下在安裝SQL Server 2005時常見問題解決方法
    2014-01-01
  • Sql查詢MySql數(shù)據(jù)庫中的表名和描述表中字段(列)信息

    Sql查詢MySql數(shù)據(jù)庫中的表名和描述表中字段(列)信息

    這篇文章主要介紹了Sql查詢獲取MySql數(shù)據(jù)庫中的表名和描述表中列名數(shù)據(jù)類型,長度,精度,是否可以為null,默認值,是否自增,是否是主鍵,列描述等列信息
    2017-12-12
  • .Net Core導入千萬級數(shù)據(jù)至Mysql的步驟

    .Net Core導入千萬級數(shù)據(jù)至Mysql的步驟

    最近在工作中,涉及到一個數(shù)據(jù)遷移功能,從一個txt文本文件導入到MySQL功能。數(shù)據(jù)遷移,在互聯(lián)網(wǎng)企業(yè)可以說經(jīng)常碰到,而且涉及到千萬級、億級的數(shù)據(jù)量是很常見的。今天我們就來談談MySQL怎么高性能插入千萬級的數(shù)據(jù)。
    2021-05-05
  • MySQL Left JOIN時指定NULL列返回特定值詳解

    MySQL Left JOIN時指定NULL列返回特定值詳解

    我們有時會有這樣的應用,需要在sql的left join時,需要使值為NULL的列不返回NULL而時某個特定的值,比如0。這個時候,用is_null(field,0)是行不通的,會報錯的,可以用ifnull實現(xiàn),但是COALESE似乎更符合標準
    2013-07-07
  • MySQL實現(xiàn)差集(Minus)和交集(Intersect)測試報告

    MySQL實現(xiàn)差集(Minus)和交集(Intersect)測試報告

    MySQL沒有實現(xiàn)Minus和Intersect功能,就像它也沒有實現(xiàn)cube的功能一樣。
    2014-06-06
  • MySQL使用binlog2sql工具實現(xiàn)在線恢復數(shù)據(jù)功能

    MySQL使用binlog2sql工具實現(xiàn)在線恢復數(shù)據(jù)功能

    binlog2sql 是大眾點評開源的一款用于解析 MySQL binlog 的工具,根據(jù)不同選項,可以得到原始SQL、回滾SQL等,下面我們就來看看如何使用binlog2sql實現(xiàn)在線恢復數(shù)據(jù)功能吧
    2025-03-03
  • 將phpstudy中的mysql遷移至Linux教程

    將phpstudy中的mysql遷移至Linux教程

    本文主要給大家介紹了關于將phpstudy中的mysql遷移至Linux的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。希望能版助到大家。
    2018-04-04
  • SQL更新與刪除數(shù)據(jù)操作示例詳解

    SQL更新與刪除數(shù)據(jù)操作示例詳解

    如果要在程序運行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學會使用SQL語句,下面這篇文章主要給大家介紹了關于SQL查詢語句更新和刪除數(shù)據(jù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01

最新評論