Code: Alles auswählen
INSERT INTO tabelle1 SELECT * FROM tabelle2 WHERE ID='blah''
Code: Alles auswählen
INSERT INTO column_1 ( val_1, val_from_other_table )
VALUES('val_1', (SELECT val_2 FROM table_2 WHERE val_2 = something))
Moderator: Moderatoren
Code: Alles auswählen
INSERT INTO tabelle1 SELECT * FROM tabelle2 WHERE ID='blah''
Code: Alles auswählen
INSERT INTO column_1 ( val_1, val_from_other_table )
VALUES('val_1', (SELECT val_2 FROM table_2 WHERE val_2 = something))
Code: Alles auswählen
INSERT INTO column_1 ( val_1, val_from_other_table )
Code: Alles auswählen
INSERT INTO maengelhistory (idauftrag) VALUES('kjshdgfojhf',(SELECT * FROm maengelmeldung WHERE id = '8407'))
wie müßte das denn dan korrekt ausgedrückt werden? Ich würde jezt sagen, ich müßte alle Spalten angeben, die wie und wo ersetzt werden sollen? Könnte aber bei eienr großen tabelle echt aufwändig werden.ERROR IN SCRIPT: poQuery: Error 7200: AQE Error: State = S0000; NativeError = 2166; [SAP][Advantage SQL Engine]SELECT sub-query returns more than one column.
Code: Alles auswählen
INSERT INTO maengelhistory (idauftrag, val_from_other_table) VALUES('blah', (SELECT * from maengelmeldung WHERE id='8407'))
ERROR IN SCRIPT: poQuery: Error 7200: AQE Error: State = S0000; NativeError = 2121; [SAP][Advantage SQL Engine]Column not found: val_from_other_table -- Location of error in the SQL statement is: 40
Code: Alles auswählen
INSERT INTO maengelhistory (idauftrag, val_from_other_table) VALUES('blah', (SELECT top 1 <field> from maengelmeldung WHERE id='8407'))
Code: Alles auswählen
INSERT INTO <Tabele> (<field1>, <field2>,,,)
Code: Alles auswählen
insert into <table> (field1,field2,field3) select 'bäh', fieldx, fieldy from <table2> where id ='4711'
Ich bin zwar nicht Joachim, aber ich verstehe was er meint.also dafür mußt Du jetzt mal (für den Fall speziell) eine vernünftige Erklärung liefern, Joachim.
Jeder SQL-Server hat System-Tabellen, welche die Struktur deiner Datenbank enthalten. Durch die Abfrage derselben bekommst du die benötigten Infos.Ich weiß ja (noch) nicht wie (ob) man das analysiert und dann verarbeiten kann in SQL. Deshalb ja meine Frage(n) hier.
Code: Alles auswählen
CREATE CURSOR cursFieldCatalog ( DBKey C( 30 ), DBName C( 30 ), DBType C( 4 ), TableCatalog C( 50 ), TableSchema C( 50 ), ;
TableName C( 50 ), ColumnName C( 50 ), IsNullable C( 3 ), DATATYPE C( 30 ), CharacterMaximumLength I( 4 ) NULL, ;
NumericPrecision I( 4 ) NULL, NumericScale I( 4 ) NULL, FieldCaption C( 250 ) )
Code: Alles auswählen
lcSQLCommand = 'SELECT CAST( Table_Schema AS CHAR( 50 ) ) AS TableSchema, CAST( Table_Name AS CHAR( 50 ) ) AS TableName, ' + ;
'CAST( Column_Name AS CHAR( 50 ) ) AS ColumnName, Is_Nullable AS IsNullable, ' + ;
'CAST( Data_Type AS CHAR( 30 ) ) AS DataType, Character_Maximum_Length AS CharacterMaximumLength, ' + ;
'Numeric_Precision AS NumericPrecision, Numeric_Scale AS NumericScale, ' + ;
'CAST( PGDesc.Description AS CHAR( 250 ) ) AS FieldCaption ' + ;
'FROM PG_Catalog.PG_Statio_all_Tables AS AllTables ' + ;
'INNER JOIN PG_Catalog.PG_Description PGDesc ON (PGDesc.objoid=AllTables.RelID) ' + ;
'INNER JOIN Information_Schema.Columns ON (PGDesc.ObjSubID = Ordinal_Position ' + ;
'AND Table_Schema = AllTables.SchemaName AND Table_Name = AllTables.RelName)'
das mache ich doch gerne ... Du willst ein * verwenden, in der Hoffnung, dass immer alle Felder in der richtigen Reihenfolge kommen. Jetzt überlegt sich irgend ein schlauer Admin mal, die Feldreihenfolge umzustellen oder kundenspezifische Felder einzuführen ... und schon passt Dein '*' nicht mehr mit dem INSERT in die andere Tabelle. Du suchst dir 'nen Wolf dabei, den Fehler zu lokalisieren.
Finde den Widerspruch SCNR.
Verknüpfung zwischen 1 und 2:
Aussage 2:
Jan