当前位置: 代码迷 >> Sql Server >> SQL异常避免
  详细解决方案

SQL异常避免

热度:3   发布时间:2016-04-27 12:37:51.0
SQL错误避免
有如下两个情形,都要保证SQL不报错:

1.向表t增加一个列varchar(20)
2.字符串转成数字

请问怎么实现?貌似需要考虑多种情况

------解决方案--------------------
SQL code
-- 1、加字段,判断该字段如果存在不操作,否则添加字段if(exists(SELECT * FROM SysColumns WHERE id=Object_Id('yourtable') and [name]='columnname'))    exec('alter table yourtable add columnname [varchar](20) ');-- 2、没太懂你的问题declare @a varchar(20)set @a = '100' -- 'abc'-- 变量或sql语句里可以用类似以下的方式处理set @a = case isnumeric(@a) when 1 then cast(@a as int) else null end;
------解决方案--------------------
1.1判断是否已经存在欲添加的字段名,若存在不操作,不存在添加。
1.2判断添加VARCHAR(20)后表字段的总长度是否超过8060限制。

2.这要看你欲转化的字符串是否有什么规律了,若无规律那只能一个字符一个字符的判断了。
  相关解决方案