关于lead的http://hi.baidu.com/420350501/blog/item/36691af47f60f6a0a40f5295.html:
关于lag的:http://hi.baidu.com/420350501/blog/item/d1ab462a2859375f4fc22694.html
UPDATETABLE_NAME
SET
名称
=
(SELECT
Y.名称
FROM
TABLE_NAME
Y
WHERE
PID
=
0001),
=
(SELECT
Y.代号
FROM
TABLE_NAME
Y
WHERE
PID
=
0001),
步骤
=
(SELECT
Y.步骤
FROM
TABLE_NAME
Y
WHERE
PID
=
0001),
=
(SELECT
Y.效果图路径
FROM
TABLE_NAME
Y
WHERE
PID
=
0001)
WHERE
PID
=
0032
COMMIT
我特意创建了一个表,字段跟你描述的一样.经过测试才回答你的.
针对单行记录的更新 *** 作,这个是最简单的.
其次因为需要处理的记录条数少.不会影响性能.再次,表的字段少,查询速度快.
只是我是以ORACLE数据库来作为实例的,换成其他数据库,换下语法就OK了.
create
table
test_table
(
PID
VARCHAR2(20),
名称
VARCHAR2(20),
代号
VARCHAR2(20),
步骤
VARCHAR2(20),
效果图路径
VARCHAR2(20)
)
INSERT
INTO
test_table(PID,名称,代号,步骤,效果图路径)
VALUES
(
'0001'
,'苹果4','IP4','下单中','D:\苹果图')
INSERT
INTO
test_table(PID,名称,代号,步骤,效果图路径)
VALUES
(
'0032'
,'
','
','
','
')
COMMIT
你可以试试,看我的正确不正确.
如果是SQLSERVER数据库,这样是手动执行的方式,
需要换成自动执行,就把这个SQL嵌套进存储过程中就OK了.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)