复制表的某行,并能够插入到该表的下一行

maomaohao3 2009-05-12 04:11:36
下面是表结构:

sn ts tt td ty

1 02 08 11 22


2 05 08 09 26


3


4


当我光标停在SN为1的记录行,首先第一步:复制该行记录 第二步:可以直接插入到尾行记录中(即sn为3的那行记录中)这样得到表


sn ts tt td ty

1 02 08 11 22

2 05 08 09 26

3 02 08 11 22

4
...全文
120 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
redhat2 2009-05-13
  • 打赏
  • 举报
回复
在客户端处理

.



人力资源
叶子 2009-05-13
  • 打赏
  • 举报
回复
弄两条除了sn,其他都一样的数据做什么?
conan304 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sdhylj 的回复:]
企业管理器中倒可以像你说的那样,直接一列,然后在尾部粘贴.
[/Quote]
……

嗯,可以。
BlueSky4014 2009-05-12
  • 打赏
  • 举报
回复
在客户端处理
tengjian1981 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yanleiyigan 的回复:]
SQL code
insert tb
select ts,tt,td,ty from tb where sn=@sn
[/Quote]
支持
yanleiyigan 2009-05-12
  • 打赏
  • 举报
回复

insert tb
select ts,tt,td,ty from tb where sn=@sn
JonasFeng 2009-05-12
  • 打赏
  • 举报
回复
这种事情总归是在前台实现的。

如果在查询分析器操作的话,更简单了。本来就有这功能。
  • 打赏
  • 举报
回复
真是不明白,为什么前台非常容易的问题要在数据库实现,不担心数据库的性能啊。
jinjazz 2009-05-12
  • 打赏
  • 举报
回复
不知道想干啥
csdyyr 2009-05-12
  • 打赏
  • 举报
回复
DECLARE @TB TABLE([sn] INT, [ts] VARCHAR(2), [tt] VARCHAR(2), [td] INT, [ty] INT)
INSERT @TB
SELECT 1, '02', '08', 11, 22 UNION ALL
SELECT 2, '05', '08', 09, 26 UNION ALL
SELECT 3, NULL, NULL, NULL, NULL UNION ALL
SELECT 4, NULL, NULL, NULL, NULL

DECLARE @SN INT,@MSN INT
SET @SN=1
SET @MSN=(SELECT min(sn) FROM @TB WHERE ts is null and tt is null and td is null and ty is null)

UPDATE @TB set ts=t.ts,tt=t.tt,td=t.td,ty=t.ty
FROM @TB AS A ,(SELECT ts,tt,td,ty FROM @TB WHERE sn=@SN) t
WHERE A.sn=@MSN

SELECT * FROM @TB
/*
sn ts tt td ty
----------- ---- ---- ----------- -----------
1 02 08 11 22
2 05 08 9 26
3 02 08 11 22
4 NULL NULL NULL NULL
*/
csdyyr 2009-05-12
  • 打赏
  • 举报
回复
DECLARE @TB TABLE([sn] INT, [ts] VARCHAR(2), [tt] VARCHAR(2), [td] INT, [ty] INT)
INSERT @TB
SELECT 1, '02', '08', 11, 22 UNION ALL
SELECT 2, '05', '08', 09, 26 UNION ALL
SELECT 3, NULL, NULL, NULL, NULL UNION ALL
SELECT 4, NULL, NULL, NULL, NULL

DECLARE @SN INT,@MSN INT
SET @SN=1
SET @MSN=3

UPDATE @TB set ts=t.ts,tt=t.tt,td=t.td,ty=t.ty
FROM @TB AS A ,(SELECT ts,tt,td,ty FROM @TB WHERE sn=@SN) t
WHERE A.sn=3

SELECT * FROM @TB
/*
sn ts tt td ty
----------- ---- ---- ----------- -----------
1 02 08 11 22
2 05 08 9 26
3 02 08 11 22
4 NULL NULL NULL NULL
*/
zhengzeng 2009-05-12
  • 打赏
  • 举报
回复
用程序来实现
青锋-SS 2009-05-12
  • 打赏
  • 举报
回复
企业管理器中倒可以像你说的那样,直接一列,然后在尾部粘贴.
nzperfect 2009-05-12
  • 打赏
  • 举报
回复
界面操作还未开发此功能吧 ..
青锋-SS 2009-05-12
  • 打赏
  • 举报
回复
这需要在前台实现吧.

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧