Как определить TEMPORARY TABLE как параметр в хранимой процедуре MYSQL - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь написать функциональность массовой вставки, в которой я хочу передать DataTable из моего приложения ASP.NET в хранимую процедуру в MySql.

Я создал временную таблицу в MySql следующим образом:

CREATE TEMPORARY TABLE UNTF (

NotificationId int unsigned,
 NotificationMessage varchar(256),
 NotificationMessageTranslation varchar(256),
 CurrentUserId int unsigned
) ENGINE=MEMORY;

добавил к нему данные вот так:

INSERT INTO UNTF
(NotificationId, NotificationMessage, NotificationMessageTranslation, CurrentUserId) values
(1,'test 2','test 2',178);

попытался получить данные, и это работает, но я застрял на , как определить эту временную таблицу как тип в хранимой процедуре MySql

Я пытался определить это так:

CREATE DEFINER=`enzodbadmin`@`%` PROCEDURE `ApplicationUserNotificationAddTest`
(           
    @PUNTF UNTF READONLY
    )
Begin

и это:

CREATE DEFINER=`enzodbadmin`@`%` PROCEDURE `ApplicationUserNotificationAddTest`
(   

    @PUNTF InputTabel READONLY
    )
Begin

как только я получу это, я буду звонить так из моего приложения ASP.NET, как это:

 DataTable dtUserNotification = CreateSampleUNTFTable();

            //base.ConnectionString

            //Open SQL Connection
            using (SqlConnection conn = new SqlConnection(base.ConnectionString))
            {
                conn.Open();
                //Initialize command object
                using (SqlCommand cmd = new SqlCommand("ApplicationUserNotificationAddTest", conn))
                {
                    //set the command type  to stored procedure
                    cmd.CommandType = CommandType.StoredProcedure;

                    //add parameter
                    cmd.Parameters.AddWithValue("@Products", dtUserNotification);

                    //execute the stored procedure
                    cmd.ExecuteNonQuery();
                }
            }

но я просто не могу заставить своего ИП работать долго и долго, любая помощь с этим будет принята с благодарностью! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...