下午好,我正在尝试将 Cursor 中的记录插入 SQL 中的表中,但在文本类型变量中构建 Insert 语句。
在值内我有一个整数类型字段,几个文本和一个日期,显然我在组装中遇到了一些复杂问题,突然他们可以对此有所了解。
我想要构建的是这样的:
set @queryTexto = 'Insert into <<tabla>> (<<lista de campos>>)
Values (@campoNumerico, @campo1, @campo2, @campo3, ''ACT'', @campoFecha)'
exec @queryTexto
我在一些例子中看到你必须转换值,我也看到了CHAR(39)
. 你能给我什么建议?非常感谢。
最好的方法是在执行文本查询时将输入的参数传递给它。您可以使用存储过程来执行此操作(同样的过程经常被 ADO.NET 等数据访问层在启动参数化查询时使用)
sp_executesql
对插入查询使用此过程如下所示:
获取当前日期的函数
getdate()
在对存储过程的调用中执行时不起作用,因此必须将其保存在变量中我已经在SQL Server 2014中检查过这段代码,我想它也可以在以前的版本中使用