Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

MySQL ultima varianta - Inserare date in simple views

* - - - - 1 votes
  • Please log in to reply
5 replies to this topic

#1
pinguinul666

pinguinul666

    Senior Member

  • Grup: Senior Members
  • Posts: 4,710
  • Înscris: 06.10.2015
sal

Intrebarea mea se refer la ULTIMA varianta de mysql si la ultima varianta (8.0) de Workbench !

Am un tabel de clienti numit clients cu coloanele:
- id_client
- nume_client
- prenume_client
- email_client
- data_cont
- sucursala_cont
- adresa_client

Pe mine ma intereseaza sa creez un simplu view, cu mai putine date, numit "SUMAR".

Quote

CREATE VIEW Sumar AS
SELECT nume_client, prenume_client, email_client FROM clients


In noul view simplu numit Sumar ....cum fac sa inserez date?
Ca sintaxa clasica de insert into... , nu merge!

E un view simplu, fara joinuri etc!

Multumesc

#2
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,600
  • Înscris: 30.07.2003
Pai nu sunt alte comenzi, daca nu merge inseamna ca se incalca ceva de pe aici: https://dev.mysql.co...datability.html

Desi n-am inteles de ce nu actualizezi tabela direct daca tot e una in view!

Si ce erori totusi primesti.

#3
gigiipse

gigiipse

    Member

  • Grup: Members
  • Posts: 701
  • Înscris: 14.04.2006
Cred ca asta ar fi: "Refers only to literal values (in this case, there is no underlying table to update)".

Incearca sa adaugi id_client care presupun ca ar fi un int sau bigint. Daca nu fa insert direct in tabela.

Edited by gigiipse, 16 August 2018 - 14:19.


#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Care-i logica sa inserezi date intr-un view? Inserezi in tabelul/tabelele ce contin datele efective...

#5
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
Din cate imi amintesc, ca sa poti sa inserezi in view, in view ar trebui sa fie toate campurile care sunt not null si nu au default value

As banui ca e cum a zis si @gigiipse, lipseste id-ul din view

#6
MembruAnonim

MembruAnonim

    MembruAnonim

  • Grup: Banned
  • Posts: 398,284
  • Înscris: 08.10.2015
@Initiator cred ca ai raspunsul la intrebare, vezi partea bold-uita, daca inteleg eu exngleza si daca inteleg situatia:

Quote

For a view to be updatable, there must be a one-to-one relationship between the rows in the view and the rows in the underlying table. There are also certain other constructs that make a view nonupdatable. To be more specific, a view is not updatable if it contains any of the following:
    Aggregate functions or window functions (SUM(), MIN(), MAX(), COUNT(), and so forth)
    DISTINCT
    GROUP BY
    HAVING
    UNION or UNION ALL
    Subquery in the select list
    Nondependent subqueries in the select list fail for INSERT, but are okay for UPDATE, DELETE. For dependent subqueries in the select list, no data change statements are permitted.
    Certain joins (see additional join discussion later in this section)
    Reference to nonupdatable view in the FROM clause
    Subquery in the WHERE clause that refers to a table in the FROM clause
    Refers only to literal values (in this case, there is no underlying table to update)
    ALGORITHM = TEMPTABLE (use of a temporary table always makes a view nonupdatable)
    Multiple references to any column of a base table (fails for INSERT, okay for UPDATE, DELETE)


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate