Insert into select表复制语句

SQL中Insert子句的使用与应用实例
本文详细介绍了SQL中的Insert子句及其两种主要形式:向表中添加所有字段或部分字段的数据,以及通过Select语句进行表复制。并通过一个实际案例展示了如何将卡表中的最新余额和BLL层传来的字符串复制到充值记录表中。

Insert是SQL中常用的语句,主要用途就是向表中添加数据。下面说说Insert子句的几种形式:

1、Insert Into Table(field1,fields2,……)values(value1,value2,……)

这种语法形式的Insert语句,一般用于向表中所有字段或者部分字段添加字符串。

如果是向表中部分字段添加数据,table后面的括号内容就不能省略。形式就是上面的形式Insert Into Table(field1,fields2,……)values(value1,value2,……);

如果是向表中所有字段添加数据,table后面的括号就可以省略。就是这样:Insert Into Table values(value1,value2,……)

2、Insert Into Table1 Select value1,value2,value3,…… from table2 where ……

这种语法形式的Insert语句,主要用于表复制。它能将Table2中的部分或者全部数据复制到Table1中。

如果我们要实现的功能是复制Table2中的一部分数据,和一部分字符串,我们只需要将Table2中所需数据和所需字符串放在Select后面。Insert语句会自动识别。

下面来个例子:

今日做收费系统的时候,我想实现这样一个功能:就是将卡表中的部分数据(最新余额)连同BLL层传过来的字符串一起复制到充值记录表中,这是就要用到上面讲的Insert Into Select 表复制语句了。

我们来看下面的实现:

''' <summary> ''' 向充值表中增加充值记录,添加时为True ''' </summary> ''' <param name="chargeRec">AddChargeRecord</param> ''' <returns></returns> ''' <remarks></remarks> Public Function AddChargeRecord(ByVal chargeRec As Entry.ChargeRecord) As Boolean Dim sql As String = "Insert Into ChargeRecordset select '" & chargeRec.CardID & "'," & "card.newestcash" & ",'" & chargeRec.ChargeDate & "','" & chargeRec.ChargeTime & "','" & chargeRec.Actor & "'" & " from card where card.cardnumber='" & chargeRec.CardID & "'" Dim sqlcmd As SqlCommand = New SqlCommand(sql, con) Try con.Open() sqlcmd.ExecuteReader() Return True Catch ex As Exception con.Close() con = Nothing Return False End Try If Not IsNothing(con) Then con.Close() con = Nothing End If End Function


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值