请高手指点怎么解决以下错误,谢谢!
CREATE TRIGGER PURTDMO ON PURTD
AFTER UPDATE,INSERT,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE PURTD
SET TD014=k.TB012
FROM INSERTED T,PURTD A,PURTB K,PURTR M
WHERE T.TD001=A.TD001
AND T.TD002=A.TD002
AND T.TD003=A.TD003
AND K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND T.TD001=SUBSTRING(TR019,1,4)
AND T.TD002=SUBSTRING(TR019,6,11)
AND T.TD003=SUBSTRING(TR019,18,4)
AND T.TD004=K.TB004
SET NOCOUNT OFF
END错误:消息 4104,级别 16,状态 1,过程 PURTDMO,第 6 行
无法绑定由多个部分组成的标识符 "k.TB012"。SELECT A.TD001,A.TD002,A.TD003,K.TB012+'---'+K.TB030 TD014 FROM PURTD A,PURTB K,PURTR M
WHERE K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND A.TD001=SUBSTRING(TR019,1,4)
AND A.TD002=SUBSTRING(TR019,6,11)
AND A.TD003=SUBSTRING(TR019,18,4)显示结果:
TD001 TD002 TD003 TD014
3301 20110700086 0001 FO:0366---FO:0366/11
3301 20110700079 0001 FO:0366---FO:0366/11
3301 20110700079 0002 FO:0366---FO:0366/11
3301 20110700292 0002 ---
3301 20110700292 0003 ---
3301 20110700296 0002 ---
3301 20110700294 0003 ---
3301 20110700294 0006 ---
3301 20110700294 0008 ---
3301 20110700295 0003 ---
3301 20110700016 0001 FO:0457/0382/0286---
3301 20110700016 0002 FO:0457/0382/0286---
3301 20110700016 0003 FO:0435---FO:0435/11
3301 20110700015 0001 FO:0427/0440---
3301 20110700015 0003 FO:0427/0440---
3301 20110700015 0005 FO:0457/0382/0286---
3301 20110700015 0006 FO:0457/0382/0286---
3301 20110700015 0007 FO:0435---FO:0435/11
3301 20110700015 0008 FO:0435---FO:0435/11
3301 20110700015 0002 FO:0427/0440---
3301 20110700015 0004 FO:0427/0440---
3301 20110700147 0002 FO:0487/0431/0479---FO:0487/11
CREATE TRIGGER PURTDMO ON PURTD
AFTER UPDATE,INSERT,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE PURTD
SET TD014=k.TB012
FROM INSERTED T,PURTD A,PURTB K,PURTR M
WHERE T.TD001=A.TD001
AND T.TD002=A.TD002
AND T.TD003=A.TD003
AND K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND T.TD001=SUBSTRING(TR019,1,4)
AND T.TD002=SUBSTRING(TR019,6,11)
AND T.TD003=SUBSTRING(TR019,18,4)
AND T.TD004=K.TB004
SET NOCOUNT OFF
END错误:消息 4104,级别 16,状态 1,过程 PURTDMO,第 6 行
无法绑定由多个部分组成的标识符 "k.TB012"。SELECT A.TD001,A.TD002,A.TD003,K.TB012+'---'+K.TB030 TD014 FROM PURTD A,PURTB K,PURTR M
WHERE K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND A.TD001=SUBSTRING(TR019,1,4)
AND A.TD002=SUBSTRING(TR019,6,11)
AND A.TD003=SUBSTRING(TR019,18,4)显示结果:
TD001 TD002 TD003 TD014
3301 20110700086 0001 FO:0366---FO:0366/11
3301 20110700079 0001 FO:0366---FO:0366/11
3301 20110700079 0002 FO:0366---FO:0366/11
3301 20110700292 0002 ---
3301 20110700292 0003 ---
3301 20110700296 0002 ---
3301 20110700294 0003 ---
3301 20110700294 0006 ---
3301 20110700294 0008 ---
3301 20110700295 0003 ---
3301 20110700016 0001 FO:0457/0382/0286---
3301 20110700016 0002 FO:0457/0382/0286---
3301 20110700016 0003 FO:0435---FO:0435/11
3301 20110700015 0001 FO:0427/0440---
3301 20110700015 0003 FO:0427/0440---
3301 20110700015 0005 FO:0457/0382/0286---
3301 20110700015 0006 FO:0457/0382/0286---
3301 20110700015 0007 FO:0435---FO:0435/11
3301 20110700015 0008 FO:0435---FO:0435/11
3301 20110700015 0002 FO:0427/0440---
3301 20110700015 0004 FO:0427/0440---
3301 20110700147 0002 FO:0487/0431/0479---FO:0487/11
SET ?.TD014=k.TB012
FROM INSERTED T,PURTD A,PURTB K,PURTR M
WHERE T.TD001=A.TD001
AND T.TD002=A.TD002
AND T.TD003=A.TD003
AND K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND T.TD001=SUBSTRING(?.TR019,1,4)
AND T.TD002=SUBSTRING(?.TR019,6,11)
AND T.TD003=SUBSTRING(?.TR019,18,4)
AND T.TD004=K.TB004如果楼主的排序方式是指定大小写,那么就写成 K.TB012 试试!另外楼主不要重复发帖!虽然马甲不同
--这个有点叼诶?
AFTER UPDATE,INSERT,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE A
SET TD014=k.TB012
FROM PURTD A,INSERTED T,PURTB K,PURTR M
WHERE T.TD001=A.TD001
AND T.TD002=A.TD002
AND T.TD003=A.TD003
AND K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND T.TD001=SUBSTRING(TR019,1,4)
AND T.TD002=SUBSTRING(TR019,6,11)
AND T.TD003=SUBSTRING(TR019,18,4)
AND T.TD004=K.TB004
SET NOCOUNT OFF
END
AFTER UPDATE,INSERT,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE A
SET A.TD014=k.TB012+'---'+K.TB030
FROM INSERTED T,PURTD A,PURTB K,PURTR M
WHERE T.TD001=A.TD001
AND T.TD002=A.TD002
AND T.TD003=A.TD003
AND K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND T.TD001=SUBSTRING(M.TR019,1,4)
AND T.TD002=SUBSTRING(M.TR019,6,11)
AND T.TD003=SUBSTRING(M.TR019,18,4)
AND T.TD004=K.TB004
SET NOCOUNT OFF
END还是一样的报错:
消息 4104,级别 16,状态 1,过程 PURTDMO,第 6 行
无法绑定由多个部分组成的标识符 "k.TB012"。
SELECT A.TD001,A.TD002,A.TD003,K.TB012+'---'+K.TB030 TD014 FROM PURTD A,PURTB K,PURTR M
WHERE K.TB001=M.TR001
AND K.TB002=M.TR002
AND K.TB003=M.TR003
AND A.TD001=SUBSTRING(TR019,1,4)
AND A.TD002=SUBSTRING(TR019,6,11)
AND A.TD003=SUBSTRING(TR019,18,4)
AND A.TD004=K.TB004