LEO's DotNET Blog

技术 业务 = 企业应用软件

博客园 首页 新随笔 联系 订阅 管理
今天略看了一下GS HR的SP,学到了一些东西和经验。mark 一下。
 
1 用Print函数查看SQL语句字符串
2 CreateTable比较多 CREATE TABLE #TempConsignAPBalanceTable(
      Row   int IDENTITY(1,1) PRIMARY KEY,
      Fiscal  varchar(6),
      CompanyID  varchar(30), /*公司ID*/
      CompanyName  varchar(60), /*公司名称*/
      PartnerID  varchar(30), /*供应商id*/
      PartnerName  varchar(60), /*供应商名称*/      
      CSQCYE  decimal(20,8) default 0 , /*期初余额*/
     )
3 SELECT 语句中 CASE WHEN 的用法
  1 SELECT column1, column2, CASE WHEN column3 = 1 THEN 'yes' WHEN column3 = 0 THEN 'no' else 'error' end as columnname from
 
table
  2 SELECT column1, column2, CASE column3 WHEN value1 THEN 'yes' WHEN value2 THEN 'no' else 'error' end as columnname from table
 
  第一个SQL适用于>,<,<>的条件判断,
  第二个SQL用于确定value的条件判断
4 isnull ISNULL
  使用指定的替换值替换 NULL。
 
  语法
  ISNULL ( check_expression , replacement_value )
  if check_expression == null then return value = replacement_value
  else check_expression != null then return check_expression
5 很多操作都是 build 一个SQL字符串,然后exec( @sql )
6 如果exec @sql,那怎样得到@sql里面的param的value?举例
 
  方法一:
  select count(*) from tb_articles
  方法二:
 
  declare @total int
  declare @rowcount int
  declare @sql nvarchar(4000)
 
  select @sql = N'select @initcount = count(1) from tb_articles'
 
  exec sp_executesql @sql,N'@initcount int output', @rowcount output
  select @rowcount
 
  memo:@sql一定是nvarchar,不可以是varchar !!!
 
 
 
posted on 2006-07-04 12:02  !LEO  阅读(320)  评论(0)    收藏  举报