sql-server - 具有给定参数的 SQL Server 存储过程插入查询
问题描述
首先,对不起我的英语,
我是存储过程的新手,所以我正在寻求帮助。
我有一个项目需要我为可配置的表名和列名创建一个 SP。我已经设法从 vb/vb.net 传递表名和列名值,现在我被困在 SP 上,下面是我的代码示例。
例子 :
frmTblname = table_a
frmClmnName = clm_A1, clm_A2, clm_A3, clm_A4, clm_A5,
toTblName = table_b,
toClmnName = clmn_b1,clmn_b2, clmn_b3, clmn_b4, clmn_b5
来自 vb/vb.netRslt = ConnectionExec.RunSP(con, "sp_configurable_insert", frmTblname, frmClmnName, toTblName, toClmnName)
如何将其添加到 SQL 插入查询中?
这是我的SP
CREATE procedure [dbo].[sp_configurable_insert] @fromTable nvarchar(50),@fromColumn nvarchar(4000),@toTable nvarchar(50),@toColumn nvarchar(4000)
我已经尝试过了,但似乎没有给出任何结果。
set @Query1 = 'insert into '+@toTable+'('+quotename(@toColumn)+')
select top 20 '+@fromColumn+'
from '+@fromTable+'
任何人都可以帮助我吗?
谢谢 :)
解决方案
在查询末尾添加:
exec sp_executesql @Query1
所以它应该看起来像:
set @Query1 = 'insert into '+@toTable+'('+quotename(@toColumn)+')
select top 20 '+@fromColumn+'
from '+@fromTable+'
exec sp_executesql @Query1
所以请注意@Query1 不完整或包含错误,因为引号不平衡。
推荐阅读
- java - Mapstruct 对象列表
- node.js - Docker + Nginx:Websocket 返回 404 未找到
- asp.net-mvc - 捕获“找不到路径'{controller}'的控制器或未实现IController”异常并显示“找不到页面”视图
- python - 与以下示例数据 SQL 等效的 Pandas 代码
- html - 复选框未对齐
- sql - 无法更改 sql 对象,因为它被默认约束引用
- c# - 如何将构建查询字符串传递给 Nest 客户端
- terraform - 如何在 Terraform 中按顺序创建资源?
- c++ - 在 2d 矢量 cpp 中切片
- python - python:转换为 tflite 模型时出现解析错误