【发布时间】:2016-06-27 09:38:59
【问题描述】:
我希望创建一条 SQL 语句来从数据库中选择一个对象,然后根据通过表单输入的值更新该对象。
我不习惯编写高级 SQL 查询并且习惯于 ORM 语法,但我想把它做好。
目前我的查询看起来像这样
DECLARE @person;
SET @person = (
select u.*
from
dbo.people as u
inner join dbo.people as pe on pe.people_id = u.people_id
inner join dbo.parties as pa on pa.people_id = pe.people_id
inner join dbo.contact_details as cd on cd.parties_id = pa.parties_id
inner join enum.contact_details_types cdt on cdt.contact_details_types_id = cd.contact_details_types_id
where
u.people_id = 57121526-03e3-4dc2-bfb8-6c6fc84a9de8 #UUID of the user eg)
UPDATE @person
SET
sexes_id=test
marital_states_id=test
employment_states_id=test
linkedins_id=test
facebooks_id=test
first_names=test
surnames=test
name_to_call_user=test
id_number=test
passport_number=test
birth_date=test
tax_number=test
vat_number=test
message_to_show_on_user_invoice=test
workplace_name=test
我一直在阅读有关存储过程的信息,并且知道我需要创建的不仅仅是简单的插入查询。
问:
我的问题是,如何创建一个查询来选择此用户作为对象,从而允许使用更新语句更改数据库中的值?
我遇到的错误:
我目前的错误是我不能以这种方式声明人。
任何帮助将不胜感激
【问题讨论】:
-
要更新哪个表,要更新到这个表的哪些值?
-
我想用 sexes_id=test ...workplace_name=test 更新“u”表
-
u.people_id 等于 select 语句中的 uuid
-
test是字符串还是什么? -
是的,只是一个使插入发生的字符串,一旦我这样做了,我将替换为 ?并在桌子上进行验证
标签: mysql sql database stored-procedures