- SQL code
create proc GetReportasbegininsert into dbo.OneceShop(cid,Clayer,DistrictCode,DistrictName,createdate)select a.cid,case a.Clayer when '1' then '总代' when '2' then '省代' when '3' then '办事处' when '4' then '区代' when '5' then '一次店' when '6' then '二次店' end,b.DistrictCode,b.DistrictName,getdate()from dbo.TPUBCLIENTINFO a,TPubDistrict b where a.caddprovince=b.struccode order by DistrictNameend
简单的存储过程,就查两表数据,插入新表,其中有一个表的字段a.Clayer 我查出来如果是 1或者2或者3或者4。。。我想让他插入新表的时候直接转换判断。
1 就是 总代
2 就是 省代
3 就是 办事处
。。。
a.Clayer 为varchar(1)
存储过程创建可以,但执行报错
- SQL code
消息 8152,级别 16,状态 14,过程 GetReport,第 4 行将截断字符串或二进制数据。语句已终止。
------解决方案--------------------
a.Clayer 为varchar(1) 长度明显不够啊
------解决方案--------------------
Clayer---varchar(1) is not enough to hold the data like "省代"
------解决方案--------------------
a.Clayer 为varchar(1)这个字段长度明显不够的
------解决方案--------------------
解决了就结贴拉》。。。。
------解决方案--------------------
这么多分 求人性化蹭点分。。。。
------解决方案--------------------
字段长度不够,所以报错,提示会被截断