SET @sql = N'INSERT INTO Position 
SELECT 
Position_id 
FROM 
Position 
WHERE Position_id in (' + @oldids +')' EXEC (@sql)
上面一段代码用了N我有点不是很清楚
请问大家N在SQL语句中有什么作用啊

解决方案 »

  1.   

    好象是表示后面的是nvarchar类型的字符
      

  2.   

    加上 N 代表存入数据库时以 Unicode 格式存储。
      

  3.   

    那么我想问大家一下
    在单步执行存储过程的时候
    我跟踪@sql 的值
    SET @sql = N'INSERT INTO Position 
    SELECT 
    Position_id 
    FROM 
    Position 
    WHERE Position_id in (' + @oldids +')'这段话执行完后得出的@sql 的值是N'INSERT INTO Position 
    SELECT 
    Position_id 
    FROM 
    Position 
    WHERE Position_id in ( + @oldids +)'但是照我的理解:sql 的值应该是N INSERT INTO Position 
    SELECT 
    Position_id 
    FROM 
    Position 
    WHERE Position_id in ( + @oldids +)
    啊,请问大家是怎么回事啊!