我想把日期参数传递给我的查询,它存储在我的配置表中,并把更新的查询插入到另一列中。我也有一个queryname列,我用它来标识我的查询,这些查询是oracle查询,长度很大。所以这就是为什么我不想让它们被执行,而只想把参数传递给它们,然后把更新的查询存储到SQL Server的另一列中。另外,我将在sis中执行这个存储过程,并在运行时给出查询名。
所以目前我的代码是:-
Create spUpdateQuery
@queryname varchar(500)
As
Begin
Declare @date1 int
Declare @date2 int
Declare @oraclequery nvarchar(max)
Select @date1 = firstdate, @date2 = lastdate, @oraclequery = query
from config_table
where queryname = @queryname
Set @updatedquery = (@oraclequery, @date1, @date2)
End
我怎么做?
我从我的配置表中也得到了日期值。请帮助我
祝贺
如果是我,我会把它们分开,然后在运行时传递参数。
但是,如果你想这样做,你可以像对待其他的nvarchar一样对待@updatedquery和@oraclequery。
SELECT @updatedquery = REPLACE(@oraclequery, '@date1', @date1)
SELECT @updatedquery = REPLACE(@oraclequery, '@date2', @date2)
确保你在@oraclequery中需要引号的地方有引号,而且你可能想把@date1和@date1用convert包起来,以控制最终字符串的格式。