0
如何在where子句中調用MySQL過程?我們怎樣才能在where子句中調用存儲過程?
在該示例中demo
是表名get_name()
是一個函數,而1
是一個參數(id)。
select * from demo where name = (select name from call get_name(1))
如何在where子句中調用MySQL過程?我們怎樣才能在where子句中調用存儲過程?
在該示例中demo
是表名get_name()
是一個函數,而1
是一個參數(id)。
select * from demo where name = (select name from call get_name(1))
您應該使用函數而不是過程。過程返回(一個或多個)結果集(表),而函數返回單個值。
在使用where子句中的函數之前,如果它們包含數據庫中的select子句,可能會導致查詢優化器無法優化查詢路徑,從而導致序列化查詢和較差的性能。如果數據量很小,或者您可能遇到可能的性能問題,這可以起作用。
get_name返回什麼?它不應該只是'select * from demo where name = get_name(1)' – GolezTrol