为什么报错1035:drop function if exists myadd; delimiter //; create function myadd(a int, b int) returns int begin declare c int default 0; set c = a+b; return c; end // delimiter ;
时间: 2024-04-10 12:34:31 浏览: 154
报错1035是因为在创建函数之前,已经存在名为myadd的函数。解决此问题的方法是在创建函数之前先删除已经存在的函数。可以使用以下语句:
```sql
DROP FUNCTION IF EXISTS myadd;
```
这将删除名为myadd的函数(如果存在)。然后,你可以继续执行创建函数的语句。完整的代码如下:
```sql
DROP FUNCTION IF EXISTS myadd;
DELIMITER //
CREATE FUNCTION myadd(a INT, b INT)
RETURNS INT
BEGIN
DECLARE c INT DEFAULT 0;
SET c = a + b;
RETURN c;
END //
DELIMITER ;
```
这样就可以成功创建名为myadd的函数了。
相关问题
drop function if exists myadd; delimiter //; create function myadd(a int, b int) returns int begin declare c int default 0; set c = a+b; return c; end // delimiter ;这段代码出现1035警告
出现1035警告是因为在创建函数之前,已经存在名为myadd的函数。警告不会阻止函数的创建,但它提醒你已经存在同名的函数。如果你确实想要覆盖已存在的函数,你可以忽略此警告。
如果你想避免警告,可以在创建函数之前先删除已经存在的函数。可以使用以下语句:
```sql
DROP FUNCTION IF EXISTS myadd;
```
然后,你可以继续执行创建函数的语句。完整的代码如下:
```sql
DROP FUNCTION IF EXISTS myadd;
DELIMITER //
CREATE FUNCTION myadd(a INT, b INT)
RETURNS INT
BEGIN
DECLARE c INT DEFAULT 0;
SET c = a + b;
RETURN c;
END //
DELIMITER ;
```
这样就可以成功创建名为myadd的函数,并避免1035警告。
use finance1; set global log_bin_trust_function_creators=1; drop function IF EXISTS get_deposit; /* 用create function语句创建符合以下要求的函数: 依据客户编号计算该客户所有储蓄卡的存款总额。 函数名为:get_Records。函数的参数名可以自己命名:*/ delimiter $$ create function get_deposit(client_id int) returns numeric(10,2) begin end$$ delimiter ;
好的,您的问题是如何正确创建一个名为get_deposit的函数来计算指定客户的所有储蓄卡存款总额。
以下是一个可能的示例代码,您可以参考一下:
```
USE finance1;
DROP FUNCTION IF EXISTS get_deposit;
DELIMITER $$
CREATE FUNCTION get_deposit(client_id INT) RETURNS NUMERIC(10, 2)
BEGIN
DECLARE total_deposit NUMERIC(10, 2);
SELECT SUM(deposit_amount)
INTO total_deposit
FROM savings_account
WHERE client_id = client_id;
RETURN total_deposit;
END$$
DELIMITER ;
```
请注意,此代码仅供参考,具体实现可能因数据库结构和数据模型而异。建议您在实际使用之前进行测试和调整。
阅读全文