declare @a nvarchar (128) declare @b nvarchar (128) set @a = '123456' set @b = @a + '654321'select @b --123456654321
不行啊.. 我的存储过程是这样的 CREATE PROCEDURE Pr_XXXX @intMID int, @szDbTableName nvarchar(128), @strOutErrMsg nvarchar(128) output AS --得分Table declare @count3 int declare @szDbTableNameTemp nvarchar(128) declare @szDbTableNameScore nvarchar(128) select @count3 = count(* ) from NNNA where MID = @intMID set @szDbTableNameTemp = @szDbTableName --如果没有该表,就动态创建一个 if (@count3 <= 0 ) begin set @szDbTableNameScore = @szDbTableNameTemp + 'Score' if @szDbTableNameScore = @szDbTableNameTemp begin Set @strOutErrMsg = '连接得分数表名失败' return 0 end --先检查一下这个表是否存在 if object_id(@szDbTableNameScore) is not null begin Set @strOutErrMsg = '得分数据表已经存在' --Set @strOutErrMsg =@szDbTableNameScore return 0 end
PRINT @szDbTableNameScore 看看 引号..
如果是INT类型的+号表示相加,最好用&表示连接!
CREATE PROCEDURE Pr_XXXX @intMID int, @szDbTableName nvarchar(128), @strOutErrMsg nvarchar(128) output AS --得分Table declare @count3 int declare @szDbTableNameTemp nvarchar(128) declare @szDbTableNameScore nvarchar(128) select @count3 = count(* ) from NNNA where MID = @intMID set @szDbTableNameTemp = @szDbTableName --如果没有该表,就动态创建一个 if (@count3 <= 0 ) begin set @szDbTableNameScore = @szDbTableNameTemp + convert(varchar,score)--这里 if @szDbTableNameScore = @szDbTableNameTemp begin Set @strOutErrMsg = '连接得分数表名失败' return 0 end --先检查一下这个表是否存在 if object_id(@szDbTableNameScore) is not null begin Set @strOutErrMsg = '得分数据表已经存在' --Set @strOutErrMsg =@szDbTableNameScore return 0 end
declare @a nvarchar (128)
declare @b nvarchar (128)
set @a = '123456'
set @b = @a + '654321'
select @b/*
123456654321(所影响的行数为 1 行)
*/
declare @a nvarchar (128)
declare @b nvarchar (128)
set @a = '123456'
set @b = @a + '654321'select @b
--123456654321
我的存储过程是这样的
CREATE PROCEDURE Pr_XXXX
@intMID int,
@szDbTableName nvarchar(128),
@strOutErrMsg nvarchar(128) output
AS
--得分Table
declare @count3 int
declare @szDbTableNameTemp nvarchar(128)
declare @szDbTableNameScore nvarchar(128)
select @count3 = count(* ) from NNNA where MID = @intMID
set @szDbTableNameTemp = @szDbTableName
--如果没有该表,就动态创建一个
if (@count3 <= 0 )
begin set @szDbTableNameScore = @szDbTableNameTemp + 'Score'
if @szDbTableNameScore = @szDbTableNameTemp
begin
Set @strOutErrMsg = '连接得分数表名失败'
return 0
end
--先检查一下这个表是否存在
if object_id(@szDbTableNameScore) is not null
begin
Set @strOutErrMsg = '得分数据表已经存在'
--Set @strOutErrMsg =@szDbTableNameScore
return 0
end
引号..
@intMID int,
@szDbTableName nvarchar(128),
@strOutErrMsg nvarchar(128) output
AS
--得分Table
declare @count3 int
declare @szDbTableNameTemp nvarchar(128)
declare @szDbTableNameScore nvarchar(128)
select @count3 = count(* ) from NNNA where MID = @intMID
set @szDbTableNameTemp = @szDbTableName
--如果没有该表,就动态创建一个
if (@count3 <= 0 )
begin set @szDbTableNameScore = @szDbTableNameTemp + convert(varchar,score)--这里
if @szDbTableNameScore = @szDbTableNameTemp
begin
Set @strOutErrMsg = '连接得分数表名失败'
return 0
end
--先检查一下这个表是否存在
if object_id(@szDbTableNameScore) is not null
begin
Set @strOutErrMsg = '得分数据表已经存在'
--Set @strOutErrMsg =@szDbTableNameScore
return 0
end