运行的时候加上ALTER这个修改表的关键词在s.SEX=sex这一句他识别不出后面的分号和end
时间: 2024-02-23 12:59:48 浏览: 15
是的,当你在 MySQL 命令行工具或其他客户端中执行存储过程时,需要将整个语句放在一个批处理中,以便 MySQL 服务器正确解析整个语句。下面是在 MySQL 命令行工具中执行存储过程的示例:
```
DELIMITER //
CREATE PROCEDURE find(IN sex VARCHAR(20))
BEGIN
SELECT * FROM s WHERE s.SEX = sex;
END//
DELIMITER ;
CALL find('男');
```
在这个示例中,我们使用 `DELIMITER //` 指令将语句分隔符修改为 `//`,以便在存储过程中使用分号。在存储过程定义结束后,我们再次使用 `DELIMITER ;` 指令将语句分隔符恢复为默认的分号。最后,我们通过调用存储过程来执行它。
相关问题
-- 修改存储过程 ALTER PROCEDURE find(IN sex VARCHAR(20)) BEGIN SELECT * FROM s WHERE s.SEX = sex > 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(IN sex VARCHAR(20
你的存储过程语法有误,应该在参数列表中使用 IN,而不是在参数名后面。下面是修改后的正确语法:
```
ALTER PROCEDURE find(IN sex VARCHAR(20))
BEGIN
SELECT * FROM s WHERE s.SEX = sex;
END
```
用文字描述一下这段代码class SchoolMem: def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age def Alter(self): self.name = input('姓名') self.sex = input('性别') self.age = input('年龄') def PrintInfo(self): print(self.name) print(self.sex) print(self.age) class Student(SchoolMem): total = 0 def __init__(self, name, sex, age): # super()解决父类查询问题。 super().__init__(name, sex, age) Student.total += 1 def PrintInfo(self): super(Student, self).PrintInfo() class Teacher(SchoolMem): total = 0 def __init__(self, name, sex, age, sl, jno,xy): super().__init__(name, sex, age) self.cono = sl self.jno = jno self.xy=xy Teacher.total += 1 def PrintInfo(self): super(Teacher, self).PrintInfo() print(self.cono) print(self.jno) print(self.xy) a = Student('姓名:张三', '性别:男', '年龄:18') a.PrintInfo() print("\n") b = Teacher('姓名:李四', '性别:男', '年龄:30', 1,'学号:1351332133','土木学院') b.PrintInfo()
这段代码定义了三个类:SchoolMem、Student和Teacher。
SchoolMem类有三个属性:name、sex和age,以及三个方法:Alter()用于修改属性值,PrintInfo()用于打印属性值。
Student类继承自SchoolMem类,新增了一个类属性total和一个构造函数,构造函数使用super()函数调用父类的构造函数,并且在每次创建新的Student对象时total属性值加1。此外,Student类还重写了PrintInfo()方法,使用super()函数调用父类的PrintInfo()方法。
Teacher类也继承自SchoolMem类,新增了三个属性:cono、jno和xy,以及一个构造函数,构造函数同样使用super()函数调用父类的构造函数并且在每次创建新的Teacher对象时total属性值加1。Teacher类同样重写了PrintInfo()方法,先使用super()函数调用父类的PrintInfo()方法,然后打印新增的属性值。
最后,该代码创建了一个Student对象a和一个Teacher对象b,并调用它们的PrintInfo()方法,分别打印出它们的属性值。