我是 SQL 新手,现在正在尝试学习如何使用存储过程。我需要制作一个可以将人员添加到表中的存储过程。该表包含的值是姓名、姓氏、年龄和性别。
一个如何做到的例子?
在 MySQL 中,您可以像这样通过 phpMyAdmin 创建一个过程:
DELIMITER //
CREATE PROCEDURE InsertPerson(IN Name VARCHAR(50), IN Last_Name VARCHAR(50), IN Age INT(3), IN Sex INT(1))
BEGIN
INSERT INTO PERSONS (Name, Last_Name, Age, Sex) values (Name, Last_Name, Age, Sex);
END //
DELIMITER ;
您可以通过以下方式使用该程序:
CALL InsertPerson('Ralph', 'Wiggum', 8, 1);
如果您在程序中出现问题,您可以通过以下方式放弃:
drop procedure InsertPerson;
存储过程因一个 DBMS 而异(与几乎通用的 SQL 不同)。如果您指的是 Oracle 的 PL/SQL,它类似于:
create or replace procedure MY_PROC is
begin
insert into PERSON(NAME,LASTNAME,AGE,SEX) values ('Bruce', 'Wayne', 30,'M');
end MY_PROC;
/
由于未指定 SQL 供应商:
-- SQL SERVER
CREATE PROC InsertValues(
@Name nvarchar(50),
@LastName nvarchar(50),
@Age int
@Sex bit
)
AS
BEGIN
INSERT INTO YourTable VALUES (@Name, @LastName, @Age, @Sex)
END