sql插入数据问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql插入数据问题相关的知识,希望对你有一定的参考价值。
假如说我有两张表 A B
其中 A 有若干个字段 id,name,.... id是主键,且是个流水号,自增1
B中也有若干个字段 id,email.... id即是主键,也是外键。
现在 我要在插入A表的时候同时插入B里面,该如何实现呢?
如果是触发器,具体如何写呢?
2.在insert之前做一下select
max(id)
from
table的操作来获取做大id数,你在insert的时候将这个id
+1
即可 参考技术A 最简单的方法就是写个存储过程,代码如下:
create
proc
p_Add
@id
varchar(10),@num
int
if((select
count(*)
from
tablename
where
id=@id)>0)
begin
update
tablename
set
num=num+1
where
id=@id
end
else
begin
insert
into
tablename(id,num)
values(@id,@num)
end 参考技术B 这个用ADO.NET去做,先检测是否重复,重复,自增,然后用command对象插入。
这都很基础,随便找本书上都有。 参考技术C 有两种实现方式
1:事务方式(可以程序开,也可以存储过程中开)
begin tran中
实现两个表的操作
commint tran
2.使用触发器
追加一个Insert的触发器,在触发器里面加入B表的插入。 参考技术D 他是说:"实现如果编号相同,数量加1",不是编号+1哦~~~~~上面2位看错题了吧."偶是队长"的是可以的!!!!
sql sever数据库中一个表中有一字段为 国家/地区 ,在插入数据时无法插入,经过排除,应该是反斜杠的问题
源代码
insert into table1(国家/地区) values(巴基斯坦)
请问字段里不能带反斜杠么,怎么解决这个问题呢
字段里面是可以使用反斜杠的。
第一步创建表
create table table1(
国家/地区 nvarchar(200),
市/县/州 nvarchar(200)
)
第二步打开表插入值:
第三步:直接使用sql语句插入值
你要使用我上述说的这种 insert into table1 vaules(XXXX)方式绝对可以插入进去
希望对你有所帮助!
参考技术A insert into table1([国家/地区]) values(巴基斯坦)字段名、表名等对象名若有为非标准命名需要用中括号括起来 参考技术B values(" 巴基斯坦"),加双引号试试 参考技术C insert into table1( [国家/地区] ) values( '巴基斯坦' ) 参考技术D 还真有用中文做字段名称的啊?不能改成用英文吗?
以上是关于sql插入数据问题的主要内容,如果未能解决你的问题,请参考以下文章
使用存储过程(SQL + C#)将数据插入一个表,然后将多行插入另一个表