Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะระงับเอาต์พุตโพรซีเดอร์ที่เก็บไว้ของ MySQL ได้อย่างไร


ในการระงับเอาต์พุตโพรซีเดอร์ที่เก็บไว้ของ MySQL คุณสามารถใช้ตัวแปรได้ เรามาสร้างตารางกันก่อน

mysql> สร้างตาราง person_information -> ( -> Id int, -> Name varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก:

mysql> แทรกลงในค่า person_information (100,'John');Query OK, 1 แถวที่ได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า person_information (101,'Chris'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.22 วินาที )mysql> แทรกลงในค่า person_information (102,'Robert'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนจากตารางโดยใช้คำสั่ง select:

mysql> เลือก *จาก person_information;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

<ก่อนหน้า>+------+---------+| รหัส | ชื่อ |+------+-------+| 100 | จอห์น || 101 | คริส || 102 | Robert |+------+ --------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อระงับผลลัพธ์ของกระบวนงานที่เก็บไว้ MySQL:

mysql> DELIMITER //mysql> CREATE PROCEDURE sp_supressOutputDemo() -> BEGIN -> set @output=(เลือกชื่อจาก person_information โดยที่ id=101); -> END -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.14 วินาที) mysql> DELIMITER;

คุณสามารถเรียกขั้นตอนการจัดเก็บข้างต้นโดยใช้คำสั่ง CALL:

mysql> โทร sp_supressOutputDemo(); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

หลังจากเรียกใช้ขั้นตอนการจัดเก็บข้างต้นแล้ว เราไม่ได้รับอะไรเลย ดังนั้น คุณต้องใช้คำสั่ง select เพื่อรับผลลัพธ์

ต่อไปนี้เป็นแบบสอบถาม

mysql> เลือก @output;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้

<ก่อนหน้า>+---------+| @output |+---------+| Chris |+---------+1 แถวในชุด (0.00 วินาที)