存储过程如:if exists(select 1 from sysobjects where name='BaseCodeSave_p' and xtype='p')
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
set @sql='insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+@tempStart +','+@tempEnd+')'
select @sql
end
测试执行:
exec BaseCodeSave_p @tempStart=1, @tempEnd=2
提示:
消息 245,级别 16,状态 1,过程 BaseCodeSave_p,第 11 行
在将 varchar 值 'insert into baseCode_t(tempetureStart,tempetureEnd ) values (' 转换成数据类型 smallint 时失败。
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
set @sql='insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+@tempStart +','+@tempEnd+')'
select @sql
end
测试执行:
exec BaseCodeSave_p @tempStart=1, @tempEnd=2
提示:
消息 245,级别 16,状态 1,过程 BaseCodeSave_p,第 11 行
在将 varchar 值 'insert into baseCode_t(tempetureStart,tempetureEnd ) values (' 转换成数据类型 smallint 时失败。
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
set @sql='insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+ltrim(@tempStart) +','+ltrim(@tempEnd)+')'
select @sql
end
if exists(select 1 from sysobjects where name='BaseCodeSave_p' and xtype='p')
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
EXEC('insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+@tempStart +','+@tempEnd+')')
end
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
set @sql='insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+cast(@tempStart as varchar(100)) +','+cast(@tempEnd as varchar(100))+')'
select @sql
end
drop procedure dbo.BaseCodeSave_p
go
create procedure BaseCodeSave_p
@tempStart smallint,
@tempEnd smallint
as
SET NOCOUNT ON
declare @sql nvarchar(2000)
declare @renderS varchar(64)
begin
set @sql='insert into baseCode_t(tempetureStart,tempetureEnd ) values ('+ltrim(@tempStart) +','+ltrim(@tempEnd)+')'
select @sql
end--转换成字符型再连接字串.也可以用convert函数转换.