Я хочу получить количество строк, представленных в таблице, которые я передаю во время выполнения функции.
Я создал процедуру и функцию для выполнения динамических запросов. Функция не позволяет динамический запрос, потому что я вызываю процедуру из функции.
эта процедура имеет динамический запрос.
/////// процедура ///////
CREATE PROCEDURE bizopsgolddev.`test1`(tbnm varchar(100))
begin
declare sql_text varchar(200);
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SELECT CONCAT(sql_text, ' is not valid');
END;
set sql_text=concat('select count(*) from ',tbnm);
SET @SQL := sql_text;
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
end;
////// функция //////
DROP FUNCTION IF EXISTS xyz;
CREATE FUNCTION `xyz`(tname varchar(100)) RETURNS int(11)
begin
declare val int;
call test1(tname);
return 1;
end;
если я выполню это // select xyz ('axpdc') // он должен вернуть количество строк
Может ли кто-нибудь сказать мне, как я могу получить счет, передав имя таблицы в функцию (только в mariadb)