求sql语句如何优化,急!

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:44:59
由于某种需要,更新某个字段的属性必须同时若干个表,如:
sql = "update TABLE1 set PARTNUMBER = 'A2304' where OBID='123';
stmt.executeUpdate( sql ) ;

sql = "update TABLE2 set PARTNUMBER = 'A2304' where OBID='123';
stmt.executeUpdate( sql ) ;

sql = "update TABLE3 set PARTNUMBER = 'A2304' where OBID='123';
stmt.executeUpdate( sql ) ;

……
以上是我采用的方法,一次更新一个表,请问朋友有没有什么简便高效的方法能实现上述功能

用触发器
下面是当更新TABLE1时TABLE2、TABLE3也会更新
CREATE TRIGGER TABLE1_Uudate ON [dbo].[TABLE1]

FOR UPDATE

AS

DECLARE @a char(100),@b char(100)

select @a=OBID from deleted

select @b=PARTNUMBER from Inserted

UPDATE TABLE2 SET PARTNUMBER=@b WHERE OBID = @a

UPDATE TABLE3 SET PARTNUMBER=@b WHERE OBID = @a

sql = "update TABLE*1* set PARTNUMBER = 'A2304' where OBID='123';
stmt.executeUpdate( sql ) ;
sql = "update TABLE=>1+*1* set PARTNUMBER = 'A2304' where OBID='123';
stmt.executeUpdate( sql ) ;

是这个意思吗?

我也来写一个
这样
先建个函数来获取一个数组 数组里面存放表名字如TABLENAME[N]={"TABLE1","TABLE2","TABLE3 "}
然后写一个函数 暂时取名叫UPDATEABLE
void UPDATEABLE(数组TABLENAME[N]}
{ Stringbuild sql=new Stringbuild();
sql.Append(“begin”);
for(int i=0;i<TABLENAME.length;i++)
{sql.Append("upda