1
这是我的存储过程:被截断时通过存储过程插入数据
CREATE PROC InsertTINH
@MaTinh char(4),
@TenTinh varchar(50),
@MaNuoc char(2)
as
begin
if exists (select * from TINH where MaTinh = @MaTinh)
begin
print 'Ma Tinh already exists'
return
end
else
begin
if not exists (select * from NUOC where MaNuoc = @MaNuoc)
begin
print 'Ma nuoc does not exist'
return
end
else
begin
insert into TINH
values ('@MaTinh', '@TenTinh')
insert into SQL_HOME.QLXNK.dbo.TINH
values ('@MaTinh', '@MaNuoc')
print 'Inserted successfully ' + @TenTinh
end
end
end
GO
我有2个不同的主机2台是TINH在本地,二是SQL_HOME.QLXNK.dbo.TINH
- 表1(MaTinh炭(4)主键不为空,TenTinh VARCHAR(50))
- 表2(MaTinh炭(4)主键不为空,MaNuoc炭(2))
当我执行
exec InsertTINH 'VN01','Ho Chi Minh','VN'
我得到一个错误:
String or binary would be truncated
只是插入正常 - >它的工作原理!
insert into TINH
values ('VN01', 'Ho Chi Minh')
insert into SQL_HOME.QLXNK.dbo.TINH
values ('VN01','VN')
我的存储过程有什么问题?
哦,上帝!感谢所以这么多!我花了2个小时弄清楚了,但还是没有办法。 –
@ H.Dinh如果你的问题已经解决,你可以[接受我的回答](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235): ) – lad2025
我接受一种方式,它说需要5分钟接受:) –