儲存過程動態組裝sql並執行

2021-07-25 03:44:51 字數 423 閱讀 1491

最近要做一些非常奇葩的報表,眼前的資料 結構需要經過多次的查詢、組裝、拆散、再組裝等繁瑣的步驟才能匯出給出的指定格式的報表,由於程式處理起來非常複雜且容易出錯,再加上此次做的功能報表並不要求時效性,所以完全可以寫乙個儲存過程來處理。

儲存過程中的sql涉及到一些多次行專列與列轉行的反覆操作,此中除了寫一些必要的函式供呼叫外,還用到了一種生成動態sql並執行的方法:

set @dynamicsql = 'select 1 from dual';

prepare presql from @dynamicsql;

execute presql;

需要注意的地方是:@dynamicsql是動態生成的,可以隨意組裝,但是最終@dynamicsql此變數組裝的sql必須只能是一句完整的sql語句,不能是多句否則會報錯

mysql 儲存過程動態拼接sql並執行賦值

處理拼接sql並且是在select查詢拼接時的賦值 create definer current user procedure newproc in xnb varchar 50 begin 定義變數 declare num float 14,6 default 0 表示全域性變數 相當於php 拼...

MySQL 儲存過程動態執行 sql

儲存過程名和引數,引數中in表示傳入引數,out標示傳出引數,inout表示傳入傳出引數 create procedure p procedurecode in sumdate varchar 10 begin declare v sql varchar 500 需要執行的sql語句 declare...

儲存過程中拼寫sql並執行

直接上 吧,根據不同的條件拼寫sql後並執行 alter procedure dbo usp statistic wjb dzsk zt year int,half int,0表示全年,1表示上半年,2下半年 isall int 0表示只統計黨政幹部人員,1表示統計全部 as declare sql...