Sql循环插入的问题

sy_binbin 2009-12-12 05:00:19
我的项目是这样的

有个会员表,查询所有当天过生日的会员,每个会员都在另外一个表里添加一条数据。我想做成作业,每天自动执行一次。

那么这个SQL语句怎么写?
...全文
132 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezx1028 2009-12-14
  • 打赏
  • 举报
回复
insert into t_accout select * from  accout where  datediff(dd,filed,getdate())=0
david0927cs2006 2009-12-13
  • 打赏
  • 举报
回复
SF
叶子 2009-12-12
  • 打赏
  • 举报
回复
来晚了...
ChinaITOldMan 2009-12-12
  • 打赏
  • 举报
回复
insert into tb select * from 会员表 where datediff(dd,时间字段,getdate())=0
jinjazzli 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 acmain_chm 的回复:]
引用O(∩_∩)O~  其他数据库版好抢吗 我也要去抢分

比这儿容易抢些。
https://forum.csdn.net/BList/OtherDatabase 其他数据库开发
[/Quote]
jinjazzli 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sy_binbin 的回复:]
大家写的都对

我把另外的那个表结构告诉大家
id,userid,CouponTitle,CouponValue

这个表我只需要会员表中的ID就行,CouponTitle,CouponValue这2个字段都是固定的值
[/Quote]
那userid 呢?

insert tb select id ,userid,'值1','值2' from ta where datediff(day,日期字段,getdate())
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
[Quote]O(∩_∩)O~ 其他数据库版好抢吗 我也要去抢分[/Quote]

比这儿容易抢些。
https://forum.csdn.net/BList/OtherDatabase 其他数据库开发
bancxc 2009-12-12
  • 打赏
  • 举报
回复
O(∩_∩)O~ 其他数据库版好抢吗 我也要去抢分
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
SQL Server 版 抢分的人太多了。不如其它数据库版
linweihua77 2009-12-12
  • 打赏
  • 举报
回复
来晚了
dtxh168 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sy_binbin 的回复:]
大家写的都对

我把另外的那个表结构告诉大家
id,userid,CouponTitle,CouponValue

这个表我只需要会员表中的ID就行,CouponTitle,CouponValue这2个字段都是固定的值
[/Quote]
id是自增列?

insert 另外一个表(userid,CouponTitle,CouponValue)
select userid,'固定值1','固定值2'
from 会员表
where month(生日)=month(getdate()) and datepart(dd,生日)=datepart(dd,getdate())
sy_binbin 2009-12-12
  • 打赏
  • 举报
回复
大家写的都对

我把另外的那个表结构告诉大家
id,userid,CouponTitle,CouponValue

这个表我只需要会员表中的ID就行,CouponTitle,CouponValue这2个字段都是固定的值
--小F-- 2009-12-12
  • 打赏
  • 举报
回复
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:

--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排为一天一次


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
--小F-- 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dtxh168 的回复:]
生日只需要判断月和日就可以了,加上年份比较就是当天出生的了
[/Quote]
有道理
guguda2008 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dtxh168 的回复:]
SQL codeinsert 另外一个表select xxxfrom 会员表wheremonth(生日)=month(getdate())anddatepart(dd,生日)=datepart(dd,getdate())
[/Quote]
UP
dtxh168 2009-12-12
  • 打赏
  • 举报
回复
定时作业的制定

企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名 ... --该存储过程用于创建表

--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
dtxh168 2009-12-12
  • 打赏
  • 举报
回复
生日只需要判断月和日就可以了,加上年份比较就是当天出生的了
dtxh168 2009-12-12
  • 打赏
  • 举报
回复
insert 另外一个表
select xxx from 会员表 where month(生日)=month(getdate()) and datepart(dd,生日)=datepart(dd,getdate())
Mr_Nice 2009-12-12
  • 打赏
  • 举报
回复
insert into tb select * from 会员表 where datediff(dd,时间字段,getdate())=0
--小F-- 2009-12-12
  • 打赏
  • 举报
回复
insert into tb select * from 会员表 where datediff(dd,时间字段,getdate())=0

34,590

社区成员

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

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