Jie

心若无尘,一花一世界,一鸟一天堂;心若静,已如涅磐,风声物语,皆可成言.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于动态SQL的写法

Posted on 2008-02-08 17:34  JieNet  阅读(400)  评论(0)    收藏  举报

我恨啊!我恨为什么大学课本里没有动态SQL这一章呢

这个动态SQL浪费了我一个小时的时间啊,再哭。。。
baidu.com,google.com我都求助了,最后还是我自己解决了问题,晕。(干吗现在还那么抢搜索市场呢。。。)

Sample:
----------------------------------------------
注意:SQL中单引号的表示方法为 '',所以如果要插入一个单引号要写成:''''

ALTER PROCEDURE dbo.sp_IS_Insert
(
@Number nvarchar(200),
 
@Extension nvarchar(5),
 
@IsDate nvarchar(20),
 
@CnName nvarchar(2000),
 
@SearchName nvarchar(2200),
 
@Filename nvarchar(205),
 
@AddedUser nvarchar(50),
 
@TableName nvarchar(50)
)
AS
    
Exec(
          
'Insert Into ' + @TableName + ' (Number,Extension,IsDate,CnName,SearchName,Filename,AddedUser) Values(' + 
          
'''' + @Number + '''' + ',' + 
          
'''' + @Extension + '''' + ',' + 
          
'''' + @IsDate + '''' + ',' + 
          
'''' + @CnName  + ''''+ ',' + 
          
'''' + @SearchName + '''' + ',' + 
          
'''' + @Filename + '''' + ',' + 
          
'''' + @AddedUser + '''' + ')'
        )
        
        
        
/*
        注释中的代码为错误的代码
        
    Exec(
          'Insert Into is' + @TableName + ' (Number,Extension,IsDate,CnName,SearchName,Filename,AddedUser) Values(' + 
          @Number + ',' + 
          @Extension + ',' + 
          @IsDate + ',' + 
          @CnName + ',' + 
          @SearchName + ',' + 
          @Filename + ',' + 
          @AddedUser + ')'
        )
        
          
*/