SQL - insert into table con Fk´s

 
Vista:

insert into table con Fk´s

Publicado por BlackSmithTech (3 intervenciones) el 12/11/2011 03:06:37
Tengo tres tablas A, B y C, la tabla C tiene 2 FK que son los PK en las tablas A y B...alguno me puede ayudar a hacer el insert into C considerando que tengo que obtener los dos valores con where....?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

insert into table con Fk´s

Publicado por BlackSmithTech (3 intervenciones) el 12/11/2011 03:21:57
voy a probar con esto y despues les cuento

insert into "order" (customer_id, price) values \ ((select customer_id from customer where name = 'John'), 12.34);


[url]www.blacksmithtech.com.ar[/url]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

insert into table con Fk´s

Publicado por BlackSmithTech (3 intervenciones) el 12/11/2011 13:59:33
probe con esto y me tira un error "No se permiten subconsultas, solo expresiones escalares"...ideas...?


SqlCommand comando = new SqlCommand();
SqlDataAdapter oDa = new SqlDataAdapter();
//algo parecido
//insert into "order" (customer_id, price) values \ ((select customer_id from customer where name = 'John'), 12.34);
//mo lo soporta sql
comando = new SqlCommand("insert into documentos (registradoPor, F_BSDocumentum, F_Documento, Asunto, Numero, Descripcion, ubicacion) values((select id from usuarios where usr='" + textBox1.Text + "'), '" + maskedTextBox1.Text + "', '" + maskedTextBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + richTextBox1.Text + "', (select id from ubicaciones where ubicacion='"+comboBox2.Text+"'))", miConecion);
oDa.InsertCommand = comando;
oDa.InsertCommand.ExecuteNonQuery();
MessageBox.Show("Documento Agregado");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

insert into table con Fk´s

Publicado por Johnkoal (3 intervenciones) el 08/12/2011 03:45:21
primero debes consultar los valores que quieres agregar, pero seria recomendable que lo hicieras deirectamente en un store prodedure en SQL y no desde visual

debes hacer lo siguiente, primero consultas los datos que necesitas de las tablas A y B
declare @valor1 int
Select @valor1=PK from A where (condiciòn)

declare @valor2 int
select @valor2=PK from B where condicion

inser into C (campo1,campo2,....)values (@valor1,@valor2,...)

asi tendras los registros antes de insertar la informacion en la nueva tabla, pero como te dije debes hacerlo en un store procedure en SQL para que todo sea mas facil de utilizar

Saludos.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar