有什么方法可以使MySQL函数接收表名或字段名吗?
是这样的:
CREATE PROCEDURE delete_row(the_id INT UNSIGNED , @table_name )
BEGIN
IF ....... THEN
BEGIN
DELETE FROM @table_name WHERE id = the_id ;
.............
END
END
我用字符串 (SET @table_name="table_name") 测试了它,但它不起作用。
最佳答案
declare varchar(max) @mySQL
set @mySQL = 'DELETE FROM ' + @tablename + 'WHERE id = ' + Convert(varchar, @the_id)
sp_executeSQL @mySQL
并且要在 MySQL 上运行(如评论者所指出的),它应该如下所示:
mysql> prepare stmt from -> 'DELETE FROM ' + @tablename + 'WHERE id = ' + Convert(varchar, @the_id)
mysql> execute stmt;
关于mysql - 如何将表名传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6443359/