Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此sql server存储过程的等效项写入mysql?_Mysql - Fatal编程技术网

如何将此sql server存储过程的等效项写入mysql?

如何将此sql server存储过程的等效项写入mysql?,mysql,Mysql,我的sql server存储过程代码为: ALTER procedure [dbo].[MasterReport_SP] (@masterReportRecNo bigint) AS DECLARE @updateDateCriteria varchar (500) DECLARE @spCriteria varchar (3000) DECLARE @sqlCommand1 varchar(3000) DECLARE @sqlCommand2 varchar(3000) DECLARE @sq

我的sql server存储过程代码为:

ALTER procedure [dbo].[MasterReport_SP]
(@masterReportRecNo bigint)
AS
DECLARE @updateDateCriteria varchar (500)
DECLARE @spCriteria varchar (3000)
DECLARE @sqlCommand1 varchar(3000)
DECLARE @sqlCommand2 varchar(3000)
DECLARE @sqlCommand3 varchar(3000)
DECLARE @transNo varchar (50)



BEGIN TRY


if @underwriterState = ''
begin
set @underwriterState = null
end

Set @totalEndtPremium = 0

Set @sqlCommand1 = ''

if @updateDateCriteria is NOT NULL
begin
if @underwriterState is NOT NULL
    begin
    Set @sqlCommand1 = 'DECLARE transDetails Cursor for Select policyNumber, policyTerm from trans'
    end
else
    begin
    Set @sqlCommand1 = 'DECLARE transDetails Cursor for Select policyNumber, policyTerm, policyIssueDate from trans'
    end
end

IF @sqlCommand1 is NOT NULL
BEGIN
    EXEC (@sqlCommand1)
    OPEN transDetails
    FETCH NEXT FROM transDetails INTO @policyNumber, @policyTerm, @policyIssueDate, @transactionNo
    WHILE @@FETCH_STATUS = 0
        BEGIN
            Print @policyNumber
            Set @systemCalcPremium = 0
            Set @premium = 0

        end;
由于这一行,我面临着问题:
Set@sqlCommand1='Select policyNumber,policyTerm from trans'声明transDetails游标。因为mysql不允许这样做。mysql中有这一行的替代方案吗。

您真的需要动态游标吗?在MySQL中,动态课程不像MSSQL服务器中实现的那么简单。是的,这是必要的。我想在IF@@fetch\u STATUS=0块中再次使用fetch next from…,如果我这样做,它将显示未定义的光标。因为这个游标的作用域在if else.Article中是有限的,所以它是一个选项,可以帮助您实现想要实现的功能