Unrestricted Updates/Inserts/Deletes

Aperta
#417 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
fsharp, sql
Ambito
database

Direzione di ricerca

Esamina le operazioni CRUD esistenti e il supporto per le query LINQ nel type provider SQLProvider, concentrandoti sugli esempi di update, insert e delete descritti nell’issue. Determina se join, filtri e valori lato query provenienti da F# possono esprimere queste operazioni SQL basate su insiemi. Il lavoro è considerato completato documentando il supporto attuale o definendo un ambito di implementazione concordato per le operazioni richieste.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

I noticed recently some issues/pr's in a similar vein, namely one relating to unrestricted deletes, and another about comparing two columns both on the query side (rather than the left being an F# value).

I'd like to be able to do something equivalent to the following:

UPDATE A
    SET A.COLUMN1 = 'FSHARP VALUE'
WHERE A.COLUMN2 = 'ANOTHER FSHARP VALUE'

or, more involving:

UPDATE A
    SET A.COLUMN1 = B.COLUMN2
FROM TABLEA AS A
INNER JOIN TABLEB AS B
    ON A.KEY = B.KEY
WHERE A.COLUMN3 = 'FSHARP VALUE'

edit for some other examples:

INSERT INTO TABLEA
SELECT COLUMN1,COLUMN2,'FSHARP VALUE1'
FROM TABLEB
WHERE TABLEB.COLUMN1 = 'FSHARP VALUE2'
DELETE TABLEA
FROM TABLEA
INNER JOIN TABLEB
    ON TABLEA.KEY =TABLEB.KEY
WHERE TABLEB.COLUMN1 = 'FSHARP VALUE1'

Basically, I want to push as much of the operational semantics to the SQL layer as possible, influencing the query only with some values from F#, mostly to constrain joins/where/group/having clauses. The goal is to stop having to produce UDF/PROC's in native T-SQL in order to perform set based updates/inserts.

Is something like this already possible? Is it antithetical to the intent of this type provider?

Lingua principale
F#
Stelle
627
Fork
147
Merge medio
2h 2m
PR unite (30g)
1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fsprojects/SQLProvider

Tutte le issue di fsprojects/SQLProvider

Issue simili

Altre issue su Databases

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.