利用SQL Server语句获取复制更新后的数据

minghua282 2012-03-19 11:30:53
利用SQL Server语句获取复制更新后的数据,怎么写sql语句,求高手指教!
...全文
155 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
minghua282 2012-03-20
  • 打赏
  • 举报
回复
我要的是这样的:我在A界面上点击“复制”按钮,A用的是dataGridView控件,然后B界面是一个树形结构视图。这两个界面是相互关联的。在我点击A界面“复制按钮”时,B界面的树形结构,连同他的父节点和子节点都必须得发生改变。A界面的“ID“是主键。B界面是个外键。也就是说根据这个”id“要一起同步更新。我现在是想利用sql语句来进行这项操作。。但是总觉得写得不对。恳请高手帮忙![Quote=引用 4 楼 wufeng4552 的回复:]
SQL code

use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,'B'
insert tb select 3,'C'
update tb set col=col+'test' output inserted.*
go
/*
Id ……
[/Quote]
minghua282 2012-03-19
  • 打赏
  • 举报
回复
我要的是这样的:我在一个界面上点击“复制”按钮,这个界面用的是dataGridView控件,然后另外一个界面是一个树形结构视图。这两个界面是相互关联的。在我点击“复制按钮”时,这边的树形结构,连同他的父节点和子节点都必须得发生改变。第一个界面的“ID“是主键。树形结构这边是个外键。也就是说根据这个”id“要一起同步更新。我现在是想利用sql语句来进行这项操作。。但是总觉得写得不对。恳请高手帮忙![Quote=引用 4 楼 wufeng4552 的回复:]
SQL code

use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,'B'
insert tb select 3,'C'
update tb set col=col+'test' output inserted.*
go
/*
Id ……
[/Quote]
黄_瓜 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wufeng4552 的回复:]

SQL code
use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,'B'
insert tb select 3,'C'
update tb set col=col+'test' output inserted.*
go
/*
Id c……
[/Quote]

膜拜,学习。
水族杰纶 2012-03-19
  • 打赏
  • 举报
回复
use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,'B'
insert tb select 3,'C'
update tb set col=col+'test' output inserted.*
go
/*
Id col
----------- ----------
1 Atest
2 Btest
3 Ctest

(3 行受影响)*/
drop table tb
水族杰纶 2012-03-19
  • 打赏
  • 举报
回复
output
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acherat 的回复:]

可以试着建立一个表,在原表上加触发器,更新的数据放到新建的表里。
[/Quote]

+
AcHerat 2012-03-19
  • 打赏
  • 举报
回复
可以试着建立一个表,在原表上加触发器,更新的数据放到新建的表里。
minghua282 2012-03-19
  • 打赏
  • 举报
回复
不是。我是想在树形结构那个页面获取更新数据。他是跟着A页面变的。A的东西复制到那个id上去了,他的父类、子类都得跟着走。。[Quote=引用 13 楼 shuohuameijiang 的回复:]
也就是说,你想在A界面,更新B界面的值。这个可以通过程序技巧解决,用SQL好像不太合适。

引用 12 楼 minghua282 的回复:
datagridview 和树形结构是在两个不同的界面。。。。

引用 11 楼 shuohuameijiang 的回复:
你的datagridview 和树形结构是在同一界面里面吗?
你在datagridview里面选中一条记录,这条记录的ID……
[/Quote]
shuohuameijiang 2012-03-19
  • 打赏
  • 举报
回复
也就是说,你想在A界面,更新B界面的值。这个可以通过程序技巧解决,用SQL好像不太合适。
[Quote=引用 12 楼 minghua282 的回复:]
datagridview 和树形结构是在两个不同的界面。。。。

引用 11 楼 shuohuameijiang 的回复:
你的datagridview 和树形结构是在同一界面里面吗?
你在datagridview里面选中一条记录,这条记录的ID与 树形结构里面的ID是不是主外键的关系?如果是,就是下面的写法了。

引用 10 楼 minghua282 的回复:
外键=(当前data……
[/Quote]
minghua282 2012-03-19
  • 打赏
  • 举报
回复
datagridview 和树形结构是在两个不同的界面。。。。[Quote=引用 11 楼 shuohuameijiang 的回复:]
你的datagridview 和树形结构是在同一界面里面吗?
你在datagridview里面选中一条记录,这条记录的ID与 树形结构里面的ID是不是主外键的关系?如果是,就是下面的写法了。

引用 10 楼 minghua282 的回复:
外键=(当前datagridview.主键ID)???
您确定是这样写的?……

引用 9 楼 shuohuameijiang 的回复:
复制……
[/Quote]
shuohuameijiang 2012-03-19
  • 打赏
  • 举报
回复

你的datagridview 和树形结构是在同一界面里面吗?
你在datagridview里面选中一条记录,这条记录的ID与 树形结构里面的ID是不是主外键的关系?如果是,就是下面的写法了。
[Quote=引用 10 楼 minghua282 的回复:]
外键=(当前datagridview.主键ID)???
您确定是这样写的?……

引用 9 楼 shuohuameijiang 的回复:
复制按钮触发时,执行:select * from tb where 外键=(当前datagridview.主键ID)

引用 6 楼 minghua282 的回复:
我要的是这样的:我在一个界面上点击“复制”按钮,这个界面用的是dataGridVi……
[/Quote]
minghua282 2012-03-19
  • 打赏
  • 举报
回复
外键=(当前datagridview.主键ID)???
您确定是这样写的?……[Quote=引用 9 楼 shuohuameijiang 的回复:]
复制按钮触发时,执行:select * from tb where 外键=(当前datagridview.主键ID)

引用 6 楼 minghua282 的回复:
我要的是这样的:我在一个界面上点击“复制”按钮,这个界面用的是dataGridView控件,然后另外一个界面是一个树形结构视图。这两个界面是相互关联的。在我点击“复制按钮”时,这边的树形结构,连同他的父节点和子节点都必须得发生改……
[/Quote]
shuohuameijiang 2012-03-19
  • 打赏
  • 举报
回复
复制按钮触发时,执行:select * from tb where 外键=(当前datagridview.主键ID)
[Quote=引用 6 楼 minghua282 的回复:]
我要的是这样的:我在一个界面上点击“复制”按钮,这个界面用的是dataGridView控件,然后另外一个界面是一个树形结构视图。这两个界面是相互关联的。在我点击“复制按钮”时,这边的树形结构,连同他的父节点和子节点都必须得发生改变。第一个界面的“ID“是主键。树形结构这边是个外键。也就是说根据这个”id“要一起同步更新。我现在是想利用sql语句来进行这项操作。。但是总觉得写得不对。恳请高手帮忙!
……
[/Quote]
minghua282 2012-03-19
  • 打赏
  • 举报
回复
我要的不是这样的呢。你看我回复的那个。谢谢指教!……[Quote=引用 7 楼 shuohuameijiang 的回复:]
改成update tb set col=col+'test' output deleted.*

为什么没有用?


引用 4 楼 wufeng4552 的回复:
SQL code

use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,……
[/Quote]
shuohuameijiang 2012-03-19
  • 打赏
  • 举报
回复
改成update tb set col=col+'test' output deleted.*

为什么没有用?

[Quote=引用 4 楼 wufeng4552 的回复:]
SQL code

use tempdb
go
create table tb(Id int,col varchar(10))
insert tb select 1,'A'
insert tb select 2,'B'
insert tb select 3,'C'
update tb set col=col+'test' output inserted.*
go
/*
Id ……
[/Quote]

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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