小编tea*_*ict的帖子

MySQL UDF sys_exec()不起作用

我有一个触发器,它调用带有调用参数的存储过程SET result = sys_exec(cmd);.但它给出了错误"函数sys_exec不存在".

我不知道该怎么做,周二我有演示文稿,因为这个代码行我的项目不起作用.我尝试工作的代码.

DELIMITER $$
CREATE PROCEDURE push_message
(p1   int,
 p2   int,
 p3 varchar(20))
BEGIN
 DECLARE cmd CHAR(255);
 DECLARE result CHAR(255);
 SET cmd = CONCAT('curl https://pubsub.pubnub.com/publish/demo/demo/0/mysql_triggers/0/%22',p1, ',' ,p2, ',' ,p3,'%22');
 SET result = sys_exec(cmd);
END$$; 


CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.id, NEW.num, NEW.name);
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures user-defined-functions

3
推荐指数
1
解决办法
2万
查看次数

sprintf() 命令不起作用

我正在尝试编写一个 C 程序,它从用户那里获取两个浮点数,然后使用 execv() 命令调用另一个程序。但我不能这样做,因为将 float 转换为 char 或者我不知道为什么。问题是 execv() 命令不起作用;输出必须是这样的

输入第一个数字:5
输入第二个数字:7
5.000000 + 7.000000 = 12.000000
父PID:9745 子PID:9746 现在可以使用

但现在就是这样

输入第一个数字:5
输入第二个数字:7
父 PID:9753 子 PID:9754 现在可以使用

我的第一个 C 程序 sum.c

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char **argv) {
  if(argc!=3)
  printf("error...\n");
  double a=atof(argv[1]);
  double b=atof(argv[2]);
  printf("%lf + %lf = %lf \n",a,b,a+b);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

和第二个程序calculate.c

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main() 
{
  float x,y;
  pid_t pid;

  printf("Enter first num: ");
  scanf("%f",&x);
  printf("Enter …
Run Code Online (Sandbox Code Playgroud)

c arrays execv

0
推荐指数
1
解决办法
8810
查看次数