我是数据库菜鸟。
我正在建立具有许多属性的数据库。
我想这样做,以便财产所有者(用户)可以仅通过调用函数/存储例程/存储过程/准备好的语句(我用谷歌搜索,但拥有很难找出我要寻找的东西。
这是我的插入查询代码:
property
因此,我想创建一个可以存储的类似INSERT INTO property
(property_owner_id, property_type_id, address, zip_code, area_m2, price_€)
VALUES
(/* Owner ID */,/* Property Type ID */,/* Address */,/* Zip Code */,/* Area */,/* Price */);
函数。
然后,业主只需执行以下操作:
submit
我正在寻找答案,但看到的东西带有“ @”,有时却没有。
我还不太了解整个“函数/存储例程/存储过程/准备好的语句”。
它似乎也随着语言的变化而变化。
在某些示例中,我需要预先设置变量/参数。在其他人中我没有。
我刚刚开始学习SQL。我知道数据库通常是如何工作的。
我知道如何创建表,更新表,插入数据,创建主键和外键。
我知道如何使用联接,左联接,交叉联接等查询数据,以及在何处,具有,排序依据,分组依据等命令。
但是到目前为止,我还不太了解如何制作一个可重用的代码块,在这里我只能调用其名称,并仅插入变量/参数。
如果有帮助,我正在将MySQL Workbench 6.2.5与UwAmp一起使用。
谢谢!
答案 0 :(得分:1)
您可能已经阅读了有关存储过程的信息,但是此link可能会有所帮助。
对您的问题: 您想要一个可以在调用参数时接受参数的过程。
CREATE PROCEDURE addtoproperty(
IN ownerid INT,
IN propertytype INT,
IN adress VARCHAR,
IN zipcode INT,
IN area VARCHAR,
IN price DECIMAL(15,2)
)
BEGIN
INSERT INTO property
(property_owner_id, property_type_id, address, zip_code, area_m2, price_€)
VALUES
(ownerid,propertytype, adress, zipcode, area, price);
END;
您将在以下语句中使用此过程。这次您需要将文本替换为具有实际值的文本。因此ownerid类似于12345。
CALL addtoproperty(ownerid,propertytype, adress, zipcode, area, price);