SQL-insert befehl

  • griass eich!

    hab ein kleines problem mit einem insert befehl, die tabelle in die ich einfügen möchte hat 3 spalten und eine davon möchte ich mit einem wert einer anderen befüllen, die anderen fülle ich mit fix-werten. hab nun diesen ansatz gewählt:

    insert into ids_fields_var (ID_field,failure_type,label) values (select ID from ids_fields where name='geometry_upstream_slope',7,'fixer string');

    dann kommt allerdings folgende fehlermeldung:
    Server: Nachr.-Nr. 156, Schweregrad 15, Status 1, Zeile 1
    Falsche Syntax in der Nähe des select-Schlüsselwortes.
    Server: Nachr.-Nr. 170, Schweregrad 15, Status 1, Zeile 1
    Zeile 1: Falsche Syntax in der Nähe von ','.


    auch wenn man den select-befehl in klammern setzt funktionierts nicht.

    also hab ich das versucht:
    insert into ids_fields_var (ID_field,failure_type,label) values (select ID,7,'fixer string' from ids_fields where name='geometry_upstream_slope');
    ,ebenfalls gleiche fehlermeldung.

    hab sql server.

    hat viell. jemand einen tipp? kann ja nicht so schwer sein.

    euch hol' ich locker ein und mach jetzt den werkmeister, mit humboldt!

  • Hab keine Ahnung, von SQL Server, mit PostgreSQL geht das so:

    Code
    insert into ids_fields_var (ID_field,failure_type,label) values ((select ID from ids_fields where name='geometry_upstream_slope'),7,'fixer string');
  • hast du scho ausprobiert, ob der innere select-befehl für sich funktioniert?
    viell ist ID ja ein schlüsselwort? hab mal ein ähnliches problem gehabt, allerdings mit access und der fehler, der mich damals stundenlang aufhielt war, dass access bestimmte schlüsselwörter nicht verträgt..

    "ich bin so kluk. K-L-U-K"
    (Homer Jay Simpson)

  • hast du scho ausprobiert, ob der innere select-befehl für sich funktioniert?
    viell ist ID ja ein schlüsselwort? hab mal ein ähnliches problem gehabt, allerdings mit access und der fehler, der mich damals stundenlang aufhielt war, dass access bestimmte schlüsselwörter nicht verträgt..


    der nackte selevt befehl funktioniert ohne probleme, hab ich auch schon versucht.

    euch hol' ich locker ein und mach jetzt den werkmeister, mit humboldt!

  • probier mal

    Code
    insert into ids_fields_var 
    set ID_field = (select ID from ids_fields where name = 'geometry_upstream_slope'), 
    failure_type = 7, 
    label = 'fixer string'[COLOR=Red])[/COLOR];

    edit: die klammer ) gehört weg

    lg,
    michi

    ps: auch keine ahnung von sql server :)

  • probier mal

    Code
    insert into ids_fields_var 
    set ID_field = (select ID from ids_fields where name = 'geometry_upstream_slope'), 
    failure_type = 7, 
    label = 'fixer string');


    lg,
    michi

    ps: auch keine ahnung von sql server :)


    es fehlt eine "(", ich glaub vor ID_field, aber trotzdem funktionierts leider nicht. aber DANKE!

    euch hol' ich locker ein und mach jetzt den werkmeister, mit humboldt!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!