教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

怎么样完成向table 中自动增加数据??

学院最新推荐文章
教程推荐
『怎么样完成向table 中自动增加数据??』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-25 
主要功能描述:
1.当A表中有数据小于B表中的数据时,自动将A表中的这条记录添加到B表中
怎样用job实现
请各位大侠给点思路,谢谢了

这个问题第1个回答:
SQL code

定时作业的制定 



企业管理器 

--管理 

--SQL Server代理 

--右键作业 

--新建作业 

--"常规"项中输入作业名称 

--"步骤"项 

--新建 

--"步骤名"中输入步骤名 

--"类型"中选择"Transact-SQL 脚本(TSQL)" 

--"数据库"选择执行命令的数据库 

--"命令"中输入要执行的语句: 

                      EXEC 存储过程名 ... --该存储过程用于创建表 



--确定 

--"调度"项 

--新建调度 

--"名称"中输入调度名称 

--"调度类型"中选择你的作业执行安排 

--如果选择"反复出现" 

--点"更改"来设置你的时间安排  





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



设置方法: 

我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定. 


这个问题第2个回答:
SQL code

create table ta(userid int ,username varchar(10))

create table tb(userid int ,username varchar(10))

insert ta select 1,'A'

insert ta select 2,'B'

insert ta select 3,'C'

insert tb select 2,'D'

insert tb select * from ta a where not exists(select 1 from tb b where a.userid>b.userid)

select * from tb

drop table ta

drop table tb


这个问题第3个回答:
SQL code

--定义创建作业

DECLARE @jobid uniqueidentifier, @jobname sysname

SET @jobname = N'作业名称'



IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name=@jobname)

EXEC msdb.dbo.sp_delete_job @job_name=@jobname



EXEC msdb.dbo.sp_add_job

@job_name = @jobname,

@job_id = @jobid OUTPUT



--定义作业步骤

DECLARE @sql nvarchar(4000),@dbname sysname

SELECT @dbname=DB_NAME(),  --作业步骤在当前数据库中执行

@sql=N'--作业步骤内容'  --一般定义的是使用TSQL处理的作业,这里定义要执行的Transact-SQL语句

EXEC msdb.dbo.sp_add_jobstep

@job_id = @jobid,

@step_name = N'作业步骤名称',

@subsystem = 'TSQL', --步骤的类型,一般为TSQL

@database_name=@dbname,

@command = @sql



--创建调度(使用后面专门定义的几种作业调度模板)

EXEC msdb..sp_add_jobschedule

@job_id = @jobid,

@name = N'调度名称',

@freq_type=4,                --每天

@freq_interval=1,            --指定每多少天发生一次,这里是1天.

@freq_subday_type=0x8,       --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次

@freq_subday_interval=1,     --重复周期数,这里每小时执行一次

@active_start_date = NULL,   --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD

@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD

@active_start_time = 00000,  --作业执行的开始时间,格式为HHMMSS

@active_end_time = 235959    --作业执行的停止时间,格式为HHMMSS


这个问题第4个回答:
语句上面都有了,关键是看多长时间扫描一次,这个很重要,如果太频繁会消耗数据库资源

作者:homel 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光