多次运行一个存储过程时一些模忽问题

    技术2022-05-11  88

    Pb执行存储过程测试

    声明

    Declare dt_test procdure dt_sysobject @x=:X

    执行

    Exec dt_test

    修改x

     

    Exec Dt_test    结果是怎么样的,x值是否改变了.

     

     

    --测试结果

    string ls_x

    ls_x='test001'

    declare dt_test procedure for dt_test

                         @x=:ls_x;

                 

    execute dt_test;

    messagebox('提示1',sqlca.sqlerrtext)

     

    ls_x='test002'

    execute dt_test;

    messagebox('提示2',sqlca.sqlerrtext)

     

    结论: 声明存储过程时,带输入参数时指定变量, 当执行存储过程时, 取该变量的值.

          也就是说声明只是指定了参数的数据来源,每次变量的数据改变时,存储过程的参数值也会改变.

     

    最新回复(0)