小編給大家分享一下mysql中怎么用存儲過程&DataFactory準備測試數據,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
假設我們有以下2張表: student , detail_info 。(MySQL版本)
其他detail_info的外鍵是name (也就是說detail_tail 中name的值要在student中有)
現在準備需要往這兩張表中插入數據供測試時使用,
方法一,手動插入
必須選插入一條記錄到student中,然后再插入一條到detail_info,且name要在student中有。
方法二,利用MySQL的存儲過程
2.1 創建存儲過程(一次插入一條數據)
代碼塊 |
create procedure pr_add ( v_id int, -- 打算插入的id v_name varchar(20) –打算插入的name ) begin INSERT INTO `student` VALUES (v_id, v_name, 'male', '20', '2011-08-16 22:05:45' ); INSERT INTO `detail_info` VALUES (v_id, v_name, '2011-08-16', '13881954050', 'xinjiang'); end; |
2.2 調用存儲過程
查詢相應的表檢查
1.3深入一個,創建一個一次能插入多條數據的存儲過程
代碼塊 |
create procedure proc_add ( number int -- 打算新插入多少條數據 ) begin declare v_name varchar(20); declare v_i int; set v_i=0; select max(id) into v_i from student; -- 獲得當前表中最大id,并存儲進變量v_i set number=v_i+number; -- 最大id set v_i=v_i+1; -- 插入的id從當前id+1開始 while v_i<=number do -- 插入的id值從id+1 ~ number set v_name=concat('bill' , v_i ); -- 拼接name,因為name不能相同 INSERT INTO `student` VALUES (v_i, v_name, 'male', '20', '2011-07-16' ); INSERT INTO `detail_info` VALUES (v_i, v_name, '2011-08-16 22:05:45', '13881954050', 'xinjiang'); set v_i=v_i + 1; end while; end; |
調用
查看結果
方法三,利用工具DataFactory
數據驗證
以上是“mysql中怎么用存儲過程&DataFactory準備測試數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。