【SQL Server】将EXEC的变量结果赋值输出

news/2024/9/21 10:46:45/文章来源:https://www.cnblogs.com/luyj00436/p/18399528

动态传入表名和表的某些属性,然后将标的属性赋值到参数中,以便后续使用。

首先一张表(表和字段设计略),使用动态的语句如下:

1 DECLARE @tablename VARCHAR(255) = 'BomNo'
2     ,@id INT = 1
3     ,@sql NVARCHAR(MAX) ;
4 SET @sql ='SELECT fnumber,sonFnumber FROM BomNo WHERE id = ' + CONVERT(varchar,@id)
5 EXEC(@sql)

执行T-SQL 语句,结果如下:

 如果,我们希望把输出的 fnumber 和 sonFnumber 作为参数,应该怎么做?这时候就涉及到了系统函数sp_executesql。

DECLARE @tablename VARCHAR(255) = 'BomNo',@id INT = 1,@sql NVARCHAR(MAX)     -- 如果定义执行语句类型为VARCHAR,会报错:过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement',@nparam NVARCHAR(1000) = N' @fnumber VARCHAR(255) OUTPUT,@sonfnumber VARCHAR(255) OUTPUT';DECLARE @fnumber VARCHAR(255),@sonfnumber VARCHAR(255)
SET @sql ='SELECT @fnumber= fnumber,@sonFnumber=sonFnumber FROM BomNo WHERE id = ' + CONVERT(varchar,@id)EXEC sys.sp_executesql @sql, @nparam, @fnumber OUTPUT, @sonfnumber OUTPUT
-- 传递到参数的值
SELECT @fnumber  fnumber, @sonfnumber sonfnumber

可以发现,参数已经赋值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792889.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首发 最新AWVS/Acunetix Premium V24.8高级版漏洞扫描器(最新版)Windows/Linux下载

前言 Acunetix Premium 是一种 Web 应用程序安全解决方案,用于管理多个网站、Web 应用程序和 API 的安全。集成功能允许您自动化 DevOps 和问题管理基础架构。 Acunetix Premium:全面的 Web 应用程序安全解决方案 Web 应用程序对于企业和组织与客户、合作伙伴和员工的联系至关…

南沙信C++陈老师解一本通题: 2031:【例4.17】四位完全平方数

​题目描述】输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。【输入】无【输出】由小到大输出,每个数占一行。【输入样例】 无 【输出样例】 无#include <bits/stdc++.h> using namespace std; bool isSquare(int n) {int tmp=(int)sqrt(n);…

VMware Workstation 17.6 Pro macOS Unlocker OEM BIOS 2.7 for Windows

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for WindowsVMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Windows 在 Windows 上运行 macOS Sequoia 请访问原文链接:https://sysin.cn/blog/vmware-workstation-17-unlocker-windows/…

MySQL官网下载

MySQL官网 https://dev.mysql.com/downloads/mysql/ 下载安装包 不登陆注册,直接下载 https://blog.csdn.net/wangyuxiang946/article/details/140063682

铁矿石的波浪与 分型

分型706.5 673反弹693-698后 应该还有第五浪破新低

VMware Workstation 17.6 Pro macOS Unlocker OEM BIOS 2.7 for Linux

VMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for LinuxVMware Workstation 17.6 Pro macOS Unlocker & OEM BIOS 2.7 for Linux 在 Linux 上运行 macOS Sequoia 请访问原文链接:https://sysin.cn/blog/vmware-workstation-17-unlocker-linux/,查看最…

VMware ESXi 6.7U3u macOS Unlocker 标准版和厂商定制版更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware ESXi 6.7U3u macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 UI fixVMware ESXi 6.7U3u macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 UI fix ESXi 6.7U3u 标准版,Dell (戴尔)、HPE (慧与) OEM 定制版 请访问原文链接:https://sysin.org/blog/vmwar…

读软件设计的要素02概念的目的

概念的目的1. 要素 1.1. 概念的定义包括名称、目的、状态、操作和操作原则 1.2. 操作原则(operational principle)1.2.1. 操作原则用于展示如何通过操作实现目的,这是理解概念的关键1.2.2. 展示如何通过操作的组合实现概念的目的,包含一个或多个典型的使用场景1.2.3. 操作原则…

Windows Terminal 便捷使用方法

一、Windows Terminal 便捷使用方法 1.1 Terminal 下载下载地址:https://github.com/microsoft/terminal1.2 在 "运行" 中打开 Terminal在 Terminal 根目录中对程序wt.exe创建两个快捷方式,分别是wt和wta(用作以管理员身份打开):右键wta,"属性" ->…

ComfyUI 基础教程(二) —— Stable Diffusion 文生图基础工作流及常用节点介绍

上一篇文章讲解述首次启动 ComfyUI 会自动打开一个最基础的文生图工作流。实际上,后续我们可以通过菜单选项,或者快捷键 ctrl + D来打开这个默认工作流。默认工作流如下:这是一个最基础的文生图工作流,本文通过对这个工作流的讲解,让大家对 ComfyUI 工作流有一个基本的认识…

学习笔记487—PDF页面拼接后大小不统一【已解决!】

Adobe PDF软件,页面拼接后大小不统一,怎么办? 一、问题: PDF页面拼接后大小不统一,怎么办?二、解决办法: 1)首先,点击“组织页面”。2)选中参考页面,并点击鼠标右键,随后选择下拉菜单中“裁剪页面”。 3)记录这个页面的大小(高度= 25.00厘米,宽度=27.00厘米)。 …

k8s工作负载控制器--Statefulset

目录一、概述二、引入"有状态"需求1、管理无状态服务的 Deployment 实现了什么1.1、创建 Deployment1.2、验证 Pod 数量1.3、配置更新策略(更新镜像版本)1.4、观察更新过程1.5、验证更新后 Pod 的状态1.6、回滚 Deployment2、新需求分析三、StatefulSet:面向有状态…