Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
1 year ago
Solved

Fabric GraphQl - How to create multiple record under single mutation.

I am working on GraphQl In fabric. I am having a table which conatins 5 records. I want to create more twomore records in table. When I am tring below query getting some error. 

 





For ex - In sql 
INSERT INTO Student (ROLL_NO, NAME, ADDRESS, PHONE, AGE) VALUES
(1, 'Ram', 'Delhi', 'XXXXXXXXXX', 18),
(2, 'Ramesh', 'Gurgaon', 'XXXXXXXXXX', 18),


How can we achive this in Graph QL ?

  • Hello Anonymous 


    I have created a new WH called Graphql_test and created one table 

    MyTable and 
    ALTER TABLE MyTable
    ADD CONSTRAINT PK_MyTable PRIMARY KEY NONCLUSTERED (ID) NOT ENFORCED;


    It was empty table .

    I added it to graphql api 
    and use muttation to add two records, it worked

     



    Please see if this is helpful

     

10 Replies

  • hello Anonymous 

     

    there are two things which I want to emphasise 

     

    Primary key constraints (even `NOT ENFORCED`) are required for mutations, but these only enable single-row operations.
    • Bulk operations aren’t listed as supported in Microsoft’s GraphQL API FAQ

     

    Try this instead

     

    mutation {
    createStudent1: createStudent(item: {ROLL_NO: 1, NAME: "Ram", ...}) { result }
    createStudent2: createStudent(item: {ROLL_NO: 2, NAME: "Ramesh", ...}) { result }
    }

     

     

    or you can explore stored proc approach for bulk inserts

     

    something like this

     

    CREATE PROCEDURE BulkBatchInsert
    AS
    BEGIN
    BULK INSERT StagingStudents FROM 'data.csv' WITH (BATCHSIZE=100000);
    INSERT INTO Students SELECT * FROM StagingStudents;
    END;

     

    please give it a try and let us know

     

    thanks

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi nilendraFabric,
      Thanks for your quick respone.
      I tried the above query but still unable to solve my issue. Below is the snapshot attched. Can you plz help me with this. 

       

      • nilendraFabric's avatar
        nilendraFabric
        Super User

        You might have to change the syntax like this

         

        mutation {
        createempinfo1: createempinfo(item: {Id: 30, Name: "Rohan", Address: "Amravati"}) {
        result
        }
        createempinfo2: createempinfo(item: {Id: 31, Name: "Raj", Address: "Nagpur"}) {
        result
        }
        }