sql提示存储过程
A. 我在 sql server 2000 上执行作业 提示:未能找到存储过程 'sp_start_job',请问是为什么呢要怎么处理
sp_start_job存储过程是在msdb数据库中,所以需要指定数据库名
EXEC msdb.dbo.sp_start_job @job_name = 'jobtest1'
用语句改作业调度相当麻烦,不建议用语句改。
用语句改的思路
首先从系统表中获取调度Id
SELECT schele_id FROM msdb.dbo.sysjobscheles WHERE job_id=(SELECT job_id FROM msdb.dbo.sysjobs WHERE name='jobtest1')
然后执行存储过程更新调度
EXEC msdb.dbo.sp_update_schele @schele_id=1, @freq_interval=1,@active_start_time=0
注意,@schele_id=1是假设第一步获取的调度id为1,如果是别的值就修改成别的。
@freq_interval=1表示每周日执行,相应的周一为2 周二为4 周三为8 周四为16 周五为32 周六为64
@active_start_time=0 表示0点执行,其它时间按小时分秒的形式,比如1点05分06秒就是10506
B. sql server执行存储过程错误,错误提示消息 207,级别 16,状态 1,第 1 行 列名 'FG1307' 无效。
你这行'合同名称='+@ContractNo ,ContractNo 为传进来的参数, 因为字符串拼接后,单引号没有了,导致数据库把把解析为了变量(表的一列),因为数据库没有该列,所以报错了。
你这样写试试:
set @ContractNoWhere= '合同名称=‘’‘+@ContractNo+’‘’‘
不行在M我,一大早我也没清晰