首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >编写SQL脚本插入数据

编写SQL脚本插入数据
EN

Stack Overflow用户
提问于 2012-05-10 23:42:31
回答 2查看 6.4K关注 0票数 1

在包含多个表的数据库中,如果不存在数据,则需要编写SQL脚本来插入数据。

货币

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
| id     | Code    | lastupdate | rate      |
+--------+---------+------------+-----------+
| 1      | USD     | 05-11-2012 | 2         |
| 2      | EUR     | 05-11-2012 | 3         |

客户端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
| id     | name    | createdate | currencyId|
+--------+---------+------------+-----------+
| 4      | tony    | 11-24-2010 | 1         |
| 5      | john    | 09-14-2010 | 2         |

表:帐户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
| id     | number  | createdate | clientId  |
+--------+---------+------------+-----------+
| 7      | 1234    | 12-24-2010 | 4         |
| 8      | 5648    | 12-14-2010 | 5         |

我需要插入:

  1. currency (id=3, Code=JPY, lastupdate=today, rate=4)
  2. client (id=6, name=Joe, createdate=today, currencyId=Currency with Code 'USD')
  3. account (id=9, number=0910, createdate=today, clientId=Client with name 'Joe')

问题:

在插入新数据之前,必须检查行是否存在,table)

  • script脚本必须允许我们在新行中添加外键,如果该外键与数据库中已经找到的行相关(因为客户端table)

  • script中的currencyId必须允许我们将当前日期时间添加到insert语句中的列中(例如client中的createdate )必须允许我们在新行中添加外键,其中外键与插入在同一脚本中的行(例如account表中的clientId )

G 238有关。

注意:我尝试了以下语句,但它只解决了第一个问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO Client (id, name, createdate, currencyId)
SELECT 6, 'Joe', '05-11-2012', 1
WHERE not exists (SELECT * FROM Client where id=6);

这个查询运行时没有任何错误,但正如您看到的,我手动编写了createdatecurrencyid,我需要从带有where子句的select语句中获取货币id (我试图用select语句替换1,但查询失败)。

这是我需要的一个例子,在我的数据库中,我需要这个脚本在10个以上的表中插入超过30行。

任何帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-11 00:50:46

你写的

I试图用select语句替换1,但查询失败

但我不知道为什么失败了?你试过什么?这应该是可行的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO Client (id, name, createdate, currencyId)
SELECT 
    6, 
    'Joe', 
    current_date, 
    (select c.id from currency as c where c.code = 'USD') as currencyId
WHERE not exists (SELECT * FROM Client where id=6);
票数 0
EN

Stack Overflow用户

发布于 2012-05-11 00:57:32

看起来你可以计算出数据是否存在。下面是用SQL Server / Sybase编写的快速代码,我认为这些代码可以回答基本问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create table currency(
    id numeric(16,0) identity primary key,
    code varchar(3) not null,
    lastupdated datetime not null,
    rate smallint
);

create table client(
    id numeric(16,0) identity primary key,
    createddate datetime not null,
    currencyid numeric(16,0) foreign key references currency(id)
);

insert into currency (code, lastupdated, rate)
values('EUR',GETDATE(),3)

--inserts the date and last allocated identity into client
insert into client(createddate, currencyid)
values(GETDATE(), @@IDENTITY)

go
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10547403

复制
相关文章
用Sql生成数据插入Sql脚本
CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare @name sysname declare @objectId int declare @objectname sysname decl
脑洞的蜂蜜
2018/02/01
1.3K0
mysql批量插入数据,sql语句批量插入,sql语句循环插入
Power
2023/05/27
3.7K0
【超级干货】SQL随机增加销售数据的脚本编写(附脚本下载地址)
我们在做查询报表编写进行测试的时候,需要很多的原始数据才能检测报表的准确度,如果通过软件里一步一步的操作生成原始数据会非常的耗时,所以才想写一个脚本来自动生成随机数据,方便进行测试。
Vaccae
2019/07/25
6620
【超级干货】SQL随机增加销售数据的脚本编写(附脚本下载地址)
如何编写不存在即插入的 SQL
MySQL 已提供了 INSERT IGNORE INTO 、REPLACE INTO、INSERT … ON DUPLICATE KEY UPDATE 等表达式实现不重复插入的功能,不过,要使用这些表达式,表上必须有主键或者唯一索引字段,主键或者唯一索引作为判断重复记录的依据。
白日梦想家
2020/07/20
1.7K0
Mybatis 批量插入数据 SQL
批量插入时,xxxMapper.java 中方法的参数都必须是 List ,泛型可以是 bean ,也可以是 Map 。配合使用 mybatis 的 foreach 即可。示例如下:
一个会写诗的程序员
2019/11/12
4.2K0
Go 脚本往InfluxDB插入数据
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() {
简单、
2018/06/19
1.1K0
Mysql--批量插入数据脚本
批量插入数据脚本 前置知识 创建一个随机产生字符串的函数rand_string(int); 创建一个随机产生一个数字的函数rand_num() 创建存储过程 调用存储过程 ---- 前置知识 CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数 FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。 select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, s
大忽悠爱学习
2021/11/15
3K0
MySQL 批量插入表数据 sql
INSERT INTO `swork_info`.`quality_data_app_base_value` (`gmt_create`, `gmt_modified`, `app_id`, `base_value`, `type`) select now(), now(), app_id, 100, '0' from application;
一个会写诗的程序员
2018/08/17
4.5K0
实战 | 简单的sql注入与脚本的编写
这里需要注意的是括号这个地方,因为这个与之前一般的sql注入不一样,这个括号是放在最后才不会出错,而不是放在单引号后面
F12sec
2022/09/29
5370
实战 | 简单的sql注入与脚本的编写
shell 往DB中插入数据脚本
用户5760343
2022/05/18
5310
shell 往DB中插入数据脚本
Python 脚本编写
系统可能会显示已安装的 Python 版本是 Python 2.7.9。在这种情况下,表明你已经安装了 Python 2。如果版本号以 3 开头,则表明你已经安装了 Python 3!请勿再次安装 Python!
py3study
2020/01/14
3.3K0
LoadRunner脚本编写
引言:针对接口进行脚本编写,解决录制脚本的局限。 第一步:打开LR,选择协议Web Services。 第二步:在action里进行脚本编写。 登陆: 1 int HttpRetCode_login,HttpRetCode_add;//定义两个变量,必须放在最前面。 2 3 //*******************用例1******************* 4 5 web_reg_save_param("result_login","LB=","RB=",
全栈测试开发日记
2023/02/02
4850
Mysql常用sql语句(22)- insert 插入数据
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
1.2K0
Mysql常用sql语句(22)- insert 插入数据
SQL编写规范
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第19天,点击查看活动详情 >>
默默的成长
2022/11/02
1.6K0
【操作指南】脚本编写
下载jmeter工具,http://jmeter.apache.org/download_jmeter.cgi
Nanako
2021/01/21
1.8K0
【操作指南】脚本编写
shell脚本简介+编写
$#:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性。
ha_lydms
2023/08/10
3910
shell脚本简介+编写
SQL插入语句
我们常说,对于数据库的操作实际上只有增删改查。 查询命令SELECT在上一票已经详细介绍过了,下面开始介绍INSERT语句。INSERT语句的基本格式如下所示:
zy010101
2020/12/08
8150
sqlmap tamper脚本编写
上次HCTF中Li4n0师傅出了一道Kzone,非预期解可以利用Unicode编码关键字bypass掉WAF,发现如果手动编写sqlmap中的tamper脚本能够省事很多,于是就有了此文。
安恒网络空间安全讲武堂
2018/12/29
4.9K0
sqlmap tamper脚本编写
shell脚本编写思路
交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
马哥教育小师哥
2019/07/05
1.6K0
实战|抢购脚本编写
故事背景: “jack,听说你大学的专业是计算机科学与技术?” “是的,领导。” “那好,去帮我抢个荣耀v9。” “领导,请你尊重这门专业,计算机科学是……” “请你谈谈NAS设备卷管理模块中失效数据恢复问题的应用。” “领导,脚本写好了”  1.效果图 运行的效果图,就是模拟不断点击换一换的效果 2.图解 怎么做的呢?让我们一步步分解 1、右击打开 2、元素查看 已经获取该元素 模拟点击 定时器每100毫秒点击一次 1.大于某个时间点 2.模拟点击 3.JS组成 1. 核心(基于E
用户1097444
2022/06/29
2.4K0
实战|抢购脚本编写

相似问题

如何编写SQL脚本以插入/更新表中的数据

25

通过SQL脚本插入数据

13

编写脚本在SQL server中插入带有依赖项的脚本

11

编写SQL插入函数

11

如何编写遍历SQL条目和插入值的脚本?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文