问题出在哪儿 [英] where is the problem

查看:28
本文介绍了问题出在哪儿的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新的事务 sql,我很喜欢这个

I new transact sql i'm stock with this

CREATE PROCEDURE Example 
    @MAESTRDESC varchar(50) --Contiene el valor a ingresar por pantalla
AS
/****Vars*****/
DECLARE
    @Result TABLE
    (
        ClientesDisponibles int,
        ClientesAgendados   int
    )
DECLARE
    @SQL varchar(500),--Guarda la cantidad de clientes disponibles
    @SQLAGENDADOS varchar(500)

SET @SQL = 'SELECT COUNT(idtable) from table';
SET @SQL = 'SELECT COUNT(idtable2) from table2';

INSERT INTO @Result EXEC @SQL, EXEC@SQLAGENDADOS;

SELECT 
    R.ClientesDisponibles,
    R.ClientesAgendados 
FROM 
    @Result R
RETURN

编辑例外情况是

列名或提供的值数量与表定义不匹配.

给予和例外,但我不知道我做错了什么.谢谢

give's and exception but i don't have any idea about what i'm doing wrong. Thanks

推荐答案

您不能像这样将多个 EXEC 调用链接在一起,并且您缺少括号(还有 Neil 的观点!)

You can't chain together multiple EXEC calls like that and you are missing parentheses (and Neil's point too!)

你可以这样做

INSERT INTO @Result(ClientesDisponibles) 
EXEC (@SQL)

INSERT INTO @Result(ClientesAgendados) 
EXEC (@SQLAGENDADOS)

这将插入 2 个单独的行.不知道你为什么不使用 sp_executesql 来做这个 根据您之前的问题.

This will insert 2 separate rows though. No idea why you aren't using sp_executesql for this as per your previous question.

这篇关于问题出在哪儿的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆