繁体   English   中英

在另一个表中的一个表中设置值

[英]Setting values in a table from another table

编写此查询的正确方法是什么?

String squery= "update Room set GuestCode="+gc+", FirstName=(select FirstName from GuestDetails where GuestCode="+gc+"), LastName=(select LastName from GuestDetails where GuestCode="+gc+"), Country=(select Country from GuestDetails where GuestCode="+gc+"), State=(select State from GuestDetails where GuestCode="+gc+"), City=(select City from GuestDetails where GuestCode="+gc+"), ContactNo=(select ContactNo from GuestDetails where GuestCode="+gc+") where RoomNo="+rn+"";      

我正在尝试使用来宾代码作为输入从另一个表(GuestDetails)在表(Room)中设置一些值。 我在子查询中收到了异常的备注,ole或超链接对象的异常。 请帮忙。

这可能是编写更新的更好方法。 这适用于SQL Server

UPDATE A
SET    GuestCode = 'gc',
       FirstName = B.FirstName,
       LastName = B.LastName,
       Country = Country,
       State = B.State,
       City = B.City,
       ContactNo = B.contactNO
FROM   ROOM A
       JOIN GuestDetails B
         ON b.GuestCode = 'gc'
WHERE  RoomNo = 'rn'; 

最好使用存储过程来避免sql注入。 您的代码很容易注入。

还可以使用联接来避免由于性能问题而进行的子选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM