CREATE PROCEDURE menu_manager @DID char(20),@DName nvarchar(20),@Price money,@action nvarchar(10) BEGIN IF action = 'add' THEN INSERT INTO menu (DID,Dname,Price) VALUES (@DID,@Dname,@Price); SELECT CONCAT('成功添加菜品: ', @Dname) AS result; ELSE IF action = 'delete' THEN DELETE FROM menu WHERE Dname=@Dname SELECT CONCAT('成功删除菜品: ', @Danme) AS result; END END
时间: 2024-04-04 18:35:07 浏览: 117
这是一段存储过程的代码,用于添加或删除菜单中的菜品。根据输入的参数 @action 的值是 'add' 还是 'delete',判断是要添加还是删除菜品。如果是添加,就将输入的菜品名、价格等信息插入到菜单表中,并返回成功添加的提示信息;如果是删除,就根据输入的菜品名在菜单表中删除对应的记录,并返回成功删除的提示信息。这个存储过程的名字是 menu_manager,它接收四个参数:@DID 表示菜品 ID,@DName 表示菜品名,@Price 表示价格,@action 表示操作类型。
相关问题
CREATE PROCEDURE GetTotalOrderAmount @cname char(50), @dname char(50) AS BEGIN SET NOCOUNT ON; DECLARE @cno char; -- 获取客户ID SELECT @cno = cno FROM clients WHERE cname = @cname; IF @cno IS NOT NULL BEGIN -- 统计总数量 SELECT SUM(oamount) AS TotalAmount FROM order WHERE cno = @cno AND dname = @dname; END END
这是一个SQL Server中的存储过程,用于根据客户名和部门名统计订单总金额。
存储过程的实现步骤如下:
1. 设置 NOCOUNT ON,以避免在返回结果集时返回多余的计数值。
2. 声明变量 @cno,用于存储客户ID。
3. 根据客户名查询对应的客户ID。
4. 如果客户ID不为空,则根据客户ID和部门名统计订单总金额。
5. 返回统计结果。
需要注意的是,存储过程中涉及到的表名和字段名需要根据实际情况进行修改。同时,存储过程中使用的变量名需要与调用存储过程时传入的参数名保持一致。
CREATE VIEW vemp_f AS SELECT eno, ename, dname, sal, wyear FROM emp, dept WHERE exb = '女'; 有问题吗
这个 CREATE VIEW 语句创建了一个名为 vemp_f 的视图。视图的定义是从 emp 和 dept 表中选择 eno、ename、dname、sal 和 wyear 列,并且只选择 exb 列的值为 '女' 的记录。
这个语句看起来没有明显的错误。请确保 emp 和 dept 表存在并包含所需的列。如果满足这些条件,那么视图 vemp_f 将包含符合条件的记录,并且可以像表一样被查询和使用。
阅读全文