记一件日常小事

  由于J兄在代码能力上与我不相上下(个人感觉),所以工作中他说的我就挺参考的。然后一次使用mssql的动态sql的时候他说存储过程里面不能使用text而varchar(max)只能存8000字符这是最气的,当时我一听,啊?还有这回事,网上初略一搜看见好像确实有,就信了。

  直到今日我搜索发现05的时候mssql就推出了存储过程-sp_executesql ,用于替换动态sql,可是只能声明nchar、nvarchar,随即在自己项目里有一块可能会涉及很多数据传入动态sql作为参数,就很不快,就去搜索有没有解决方案,如此我才发现原来05版的varchar(max)是能存超级多字符的。

  之前我就因为存储长度原因去考虑怎样变通往数据库存大量数据。

  可见有时候不假思索的信任权威是很有害的,同时一些知识的更新,对问题我们应该去问一些擅长的人去问,毕竟很多问问啥的可能过了时。很惭愧我没有这么做,作为一个程序猿,我觉得我应该不这么愚蠢才对我却很愚笨的经历了这些。

  ps:关于存储过程只能用varchar系列而不能用text是有一个前提,text在varchar长度超过8000的时候其实应该隐式转换成text了,总之人家不会给你编程去加几道坎不要想象人家想象得太笨太蠢,那样其实最笨的是你才对。

posted @ 2017-02-20 15:00  自强不息的sun  阅读(143)  评论(0)    收藏  举报