为什么这个商店程序给我错误, [英] Why this store procedure give me error,

查看:69
本文介绍了为什么这个商店程序给我错误,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里我创建了一个存储过程,用于从两个不同的表中获取值并将这些值插入第三个表。

Here I am creating a store procedure for taking values from two different tables and inserting that values in third table.

CREATE PROCEDURE [dbo].[sp_payout]
    (
      @sponcorid varchar(50)=null
 
 )
AS
BEGIN
    INSERT INTO Payout_Master
SELECT sponcorid,leftcount,rightcount,totcount,pair FROM
((SELECT sponcorid,leftcount,rightcount,totcount,pair FROM TestCounter_Master WHERE sponcorid=@sponcorid
EXCEPT
SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master)
UNION(SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master))
END
GO

< br $>




错误:

关键字''END'附近的语法不正确。




请帮帮我




ERROR:
Incorrect syntax near the keyword ''END''.


Help me out please

推荐答案

只需在下一行末尾给出一些别名。



Just give some alias name at the end of below line.

UNION(SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master)) mytable





更新了sp





updated sp

CREATE PROCEDURE [dbo].[sp_payout]
(
@sponcorid varchar(50)=null

)
AS
BEGIN
    INSERT INTO Payout_Master
        SELECT sponcorid,leftcount,rightcount,totcount,pair FROM
((SELECT sponcorid,leftcount,rightcount,totcount,pair FROM TestCounter_Master WHERE sponcorid=@sponcorid
EXCEPT
SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master)
UNION(SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master)) mytable
END
GO






看起来你缺少一些存储过程的语法。



Hi,

It looks like you are missing some of the syntax for a stored procedure.

CREATE PROCEDURE <procedure_name,> 
	-- Add the parameters for the stored procedure here

AS
BEGIN
        -- Insert statements for procedure here
END
GO





因此在AS之后你需要在结尾插入BEGIN和END。 />


insert语句本身看起来不错。



So after AS you need to insert BEGIN and END at the end.

The insert statement itself looks good.


定义时无法实例化参数。



请:

You cannot instantiate a parameter while defining.

Do:
CREATE PROCEDURE [dbo].[sp_payout]
     (
        @sponcorid varchar(50)
     )
 AS
   INSERT INTO 
       Payout_Master
   SELECT 
       sponcorid,leftcount,rightcount,totcount,pair 
   FROM
       (
         (
          SELECT sponcorid,leftcount,rightcount,totcount,pair FROM TestCounter_Master WHERE sponcorid=@sponcorid
          EXCEPT
          SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master
         )
         UNION
         (
          SELECT tds,sercharge,deve_charges,trimming FROM SetPayout_Master
          )
       )


这篇关于为什么这个商店程序给我错误,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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