當前位置:首頁 » 存儲配置 » mysql存儲過程查詢表

mysql存儲過程查詢表

發布時間: 2022-09-11 12:18:09

『壹』 mysql 如何查看某個表在哪些存儲過程中用那個到了

SELECT * FROM mysql.proc

WHERE type = 'PROCEDURE'

AND specific_name = 'P_UserBetDayDetail'

AND Body LIKE '%Report_UserBetDayDetail%';

  • mysql.proc:表示查詢的目標表;

  • type = 'PROCEDURE':表示查詢的是存儲過程;

  • specific_name = 'P_UserBetDayDetail' :表示查詢的具體存儲過程名稱;

  • Body LIKE '%Report_UserBetDayDetail%':表示存儲過程內容中包含的表。

『貳』 存儲過程怎麼在mysql查詢里執行

方法一:(直接查詢,比較實用,查看當前自定義的存儲過程)
select `specific_name` from MySQL.proc where `db` = 'your_db_name' and `type` = 'procere'
方法二:(查看資料庫里所有存儲過程+內容)
show procere status;
方法三:(查看當前資料庫里存儲過程列表)
select specific_name from mysql.proc ;
方法四:(查看某一個存儲過程的具體內容)
select body from mysql.proc where specific_name = 'your_proc_name';
查看存儲過程或函數的創建代碼 :
show create procere your_proc_name;
show create function your_func_name;

『叄』 mysql資料庫怎麼創建一個存儲過程查詢兩個表的關聯數據、怎麼查

首先打開新建--建立查詢或者查詢向導,把兩個標的這些欄位都添加進去,然後內部關聯就是a的aid和b的aid內部連接,然後篩選條件就是a.aid=b.aid 然後查詢去向選擇『表』然後填上你想存的表的名字,如果是要求寫出SQL語句的話你就做好上面步驟之後點查詢設計器裡面的SQL按鈕,就會出來那些命令段,復制就好了

『肆』 mysql存儲過程實現數據查詢與插入

INSERT into total_score_tmpD(
DepartmentNameEnd, StaffId,
StaffName,
CountPerHour,
SkillScoreDisCount ,
DealCount ,
ValueCount,
ValueCountDisCount
)
SELECT DepartmentName, StaffId,
StaffName,
3600/(Select DealAvgSeconds from deal_name_type where DealId='121300')*AVG(DealAvgSeconds/WaitSeconds) ,
Round(3600/(Select DealAvgSeconds from deal_name_type where DealId='121300')*avg(DealAvgSeconds/WaitSeconds)/(select Max(SunValue) From total_score_tmp33)*(select CAST(OptionValue as decimal) from sys_info WHERE OptionName='工作技能權重'),2),
count(StaffId),
Sum(DealValue),
Round(Sum(DealValue)/(select Max(SunValue) From total_score_tmp44)*(select CAST(OptionValue as decimal) from sys_info WHERE OptionName='工作效益權重'),2)
From deal_record
where DepartmentName like concat(DepartmentName2,'%') and DealDateTime BETWEEN STARTDealDateTime and endDealDateTime
group by StaffId;

insert into total_score_tmpc(DepartmentName , StaffId,
StaffName,
ClientNum ,
EvaluateScore ,
EvaluateScoreDisCount)
SELECT DepartmentName, StaffId,
StaffName,
count(StaffId),
Sum(EvaluatePrice),
Round((Sum(EvaluatePrice)/(select Max(SunValue) From total_score_tmp22))*(select CAST(OptionValue as decimal) from sys_info WHERE OptionName='服務評價權重'),2)
From evaluate_record
where DepartmentName like concat(DepartmentName2,'%') and EvaluateDateTime BETWEEN STARTDealDateTime and endDealDateTime
group by StaffId;

『伍』 存儲過程,mysql查表A的所有數據,同時又想知道滿足A.欄位1 = A.欄位2 的數據有哪些

一條查詢語句只能返回一組數據,用存儲過程也一樣,無法同時返回所有數據,又返回符合條件的數據
只能拆分成2個語句去查詢

『陸』 mysql 搜索表被哪個存儲過程使用

假設A表有3個欄位,ID, DATA1,DATA2
簡單的話可以不使用存儲過程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)
如果你的應用比較復雜,在嵌套中還有復雜的運算,存儲過程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) > 0;
END
註: in_start, in_end是DATA1的篩選范圍。 後面一個select直接返回一個表
直接用SQL和使用存儲過程各有利弊,存儲過程在你使用大量查詢及SQL運算的時候效率很高,而且存儲過程一旦寫入資料庫會被自動編譯運行速度比較快,而SQL是每次執行都需要被編譯一次的。但是存儲過程的調試比較麻煩,不像你使用編程語言和SQL的時候可以單步調試。而且如果沒有熟練掌握存儲過程的效率優化情況下,使用存儲過程可能比使用SQL更慢。

『柒』 MySQL怎麼寫存儲過程查詢某個表的某一條記錄,並把這條記錄的所有列名對應的值以json格式返回呢

給你個思路吧,既然你能問出這種問題應該是有了思路就會自己做的人,就不幫你寫代碼了。
首先,你確定這個表的所有欄位中沒有二進制內容,如果沒有的話,下面這個思路你可以試試,但是如果有的話估計就需要對二進制進行特別的處理了,如果你有的話再追問吧。
思路開始:
1.如果你是對一張確定的表(提前已經知道表結構)進行這樣的處理,那就查詢出來一條記錄,通過Mysql的字元串拼接函數CONCAT,按照JSON格式,慢慢的拼一個字元串,最後通過select這個字元串返回這個字元串就行了。
2.如果之前你並不知道,這個表的結構,甚至你根本不知道自己要處理的是那張表,那麼存儲過程中你需要傳遞一個表名進來,然後查詢information_schema資料庫中的COLUMNS表,從而獲得這個表的具體欄位信息,以及各個欄位的先後順序(為後面拼接字元串使用),剩下的就跟1中描述的思路一樣了。

雖然不知道你的用處是什麼,不過,以我個人的經驗,這種返回JSON的方式並不可取,這樣會增加資料庫的負擔,理論上應該是將數據出來後自己在程序中拼接。

『捌』 怎麼在mysql中查詢已建立的存儲過程

1、首先先創建一個存儲過程,代碼如圖,存儲過程主要的功能是為表JingYan插入新的數據。

『玖』 mysql 怎麼查詢存儲過程中用到哪些表

假設A表有3個欄位,ID, DATA1,DATA2
簡單的話可以不使用存儲過程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)

如果你的應用比較復雜,在嵌套中還有復雜的運算,存儲過程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) > 0;
END
註: in_start, in_end是DATA1的篩選范圍。 後面一個select直接返回一個表

直接用SQL和使用存儲過程各有利弊,存儲過程在你使用大量查詢及SQL運算的時候效率很高,而且存儲過程一旦寫入資料庫會被自動編譯運行速度比較快,而SQL是每次執行都需要被編譯一次的。但是存儲過程的調試比較麻煩,不像你使用編程語言和SQL的時候可以單步調試。而且如果沒有熟練掌握存儲過程的效率優化情況下,使用存儲過程可能比使用SQL更慢。

熱點內容
linux下安裝jdk 發布:2025-01-15 06:03:05 瀏覽:544
伺服器拷數據到電腦 發布:2025-01-15 05:58:19 瀏覽:481
android的單例模式 發布:2025-01-15 05:50:55 瀏覽:927
aes256在線加密工具 發布:2025-01-15 05:36:25 瀏覽:222
朋友圈的緩存在哪裡 發布:2025-01-15 05:35:01 瀏覽:509
進入時間段的密碼是多少 發布:2025-01-15 05:11:07 瀏覽:384
java開發培訓那裡好 發布:2025-01-15 05:11:02 瀏覽:772
南京南京ftp 發布:2025-01-15 05:03:38 瀏覽:248
php用戶登錄狀態 發布:2025-01-15 05:03:34 瀏覽:259
c編程音樂 發布:2025-01-15 04:39:04 瀏覽:121