大侠们,帮看看怎么解决这个错误问题?

「已注销」 2013-01-21 12:29:15

exec sp_addlinkedserver 'DD', '', 'SQLOLEDB','192.168.11.234'
exec sp_addlinkedsrvlogin 'DD','false',null,'sa','hello'

Go
CREATE TRIGGER DepInsertForSync
ON Department
FOR INSERT
AS
SET NOCOUNT ON
SET XACT_ABORT ON
INSERT INTO DD.sync.dbo.HIS_CSYSDEPT(--错误在此
'HIS_CSYSDEPTId',
'DEPT_NO',
'DEPT_CNAME',
'DEPT_ENAME'
)
SELECT
Dep.DepartmentId,
Dep.Code,
Dep.Name
FROM Department Dep
INNER JOIN Inserted vir ON vir.DepartmentId = Dep.DepartmentId

错误信息:
为不是函数的对象 'DD.sync.dbo.HIS_CSYSDEPT' 提供了参数。如果这些参数要作为表提示,则需要使用 WITH 关键字。
怎么解决?没用过with呢?
...全文
207 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-01-21
  • 打赏
  • 举报
回复
exec sp_addlinkedserver   'DD', '', 'SQLOLEDB','192.168.11.234'
exec sp_addlinkedsrvlogin 'DD','false',null,'sa','hello'
  
 Go 
CREATE TRIGGER DepInsertForSync 
ON Department                        
FOR INSERT                       
AS   
  SET NOCOUNT ON
  SET XACT_ABORT ON   
   INSERT INTO DD.sync.dbo.HIS_CSYSDEPT
   values( 
    'HIS_CSYSDEPTId', 
    'DEPT_NO', 
    'DEPT_CNAME', 
    'DEPT_ENAME'
   )   
   SELECT 
   Dep.DepartmentId, 
   Dep.Code, 
   Dep.Name  
   FROM Department Dep 
   INNER JOIN Inserted vir ON  vir.DepartmentId = Dep.DepartmentId
bashen1101 2013-01-21
  • 打赏
  • 举报
回复
1。列名上单引号去掉,不然就成字符串了 2。要插入的列数量要与插入值的列数量相同
發糞塗牆 2013-01-21
  • 打赏
  • 举报
回复
去了引号还要去掉一列,不然一样报错
「已注销」 2013-01-21
  • 打赏
  • 举报
回复
引用 5 楼 szm341 的回复:
把列名的单引号去掉呢 INSERT INTO DD.sync.dbo.HIS_CSYSDEPT( HIS_CSYSDEPTId, DEPT_NO, DEPT_CNAME, DEPT_ENAME )
是啊,晕了
szm341 2013-01-21
  • 打赏
  • 举报
回复
把列名的单引号去掉呢 INSERT INTO DD.sync.dbo.HIS_CSYSDEPT( HIS_CSYSDEPTId, DEPT_NO, DEPT_CNAME, DEPT_ENAME )
發糞塗牆 2013-01-21
  • 打赏
  • 举报
回复
我不知道你的表结构,所以你要自己测试了,你insert那里是4列,select 才3列,肯定报错的。
發糞塗牆 2013-01-21
  • 打赏
  • 举报
回复
exec sp_addlinkedserver   'DD', '', 'SQLOLEDB','192.168.11.234'
exec sp_addlinkedsrvlogin 'DD','false',null,'sa','hello'
  
 Go 
CREATE TRIGGER DepInsertForSync 
ON Department                        
FOR INSERT                       
AS   
  SET NOCOUNT ON
  SET XACT_ABORT ON   
   INSERT INTO DD.sync.dbo.HIS_CSYSDEPT(  
    DEPT_NO, 
    DEPT_CNAME, 
    DEPT_ENAME
   )   
   SELECT 
   Dep.DepartmentId, 
   Dep.Code, 
   Dep.Name  
   FROM Department Dep 
   INNER JOIN Inserted vir ON  vir.DepartmentId = Dep.DepartmentId
「已注销」 2013-01-21
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
SQL code?1234567891011121314151617181920212223exec sp_addlinkedserver 'DD', '', 'SQLOLEDB','192.168.11.234'exec sp_addlinkedsrvlogin 'DD','false',null,'sa','hello' Go CREATE TRIGGER ……
不对吧,你写的意思不就是将
values(
    'HIS_CSYSDEPTId',
	'DEPT_NO',
	'DEPT_CNAME',
	'DEPT_ENAME')
作为值写入了吗?我要的是后面的select中的值

34,838

社区成员

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

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