我在SQL Server中具有以下存储过程:
CREATE PROCEDURE [dbo].[EmptyStagingTableBySupplierNr]
@suppliernumber NVARCHAR(50)
AS
BEGIN
-- routine body goes here,e.g.
-- SELECT 'Navicat for SQL Server'
INSERT INTO proclog (description)
VALUES (@suppliernumber);
DELETE FROM [dbo].[productassortment_staging]
WHERE [LieferantenNr] = @suppliernumber;
INSERT INTO proclog (description)
VALUES ('test');
END
如果我直接执行存储过程,则所有部分(插入,删除)都可以正常工作。 但是,如果我从第三方软件执行存储过程,则只有插入部件在工作。
我简化了存储过程:
CREATE PROCEDURE [dbo].[EmptyStagingTableBySupplierNr]
@suppliernumber NVARCHAR(50)
AS
BEGIN
-- routine body goes here,e.g.
-- SELECT 'Navicat for SQL Server'
INSERT INTO proclog (description)
VALUES (@suppliernumber);
DELETE FROM [dbo].[productassortment_staging]
WHERE [LieferantenNr] = '123';
INSERT INTO proclog (description)
VALUES ('test');
END
相同的结果:如果我直接执行它,它将起作用,但是从第三方软件中,只有插入部分起作用。
我已将使用的凭据更改为管理员帐户。没有变化-所以 权利不足的问题可以排除。
有什么想法可以解决这个问题吗?