elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Tablas relacionadas en sql , duda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tablas relacionadas en sql , duda  (Leído 8,794 veces)
nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Tablas relacionadas en sql , duda
« en: 24 Diciembre 2009, 18:46 pm »

Hola, estoy practicando con este lenguaje pero no me anda el "AUTO_INCREMENT", me da error en la linea marcada.

Código:
CREATE TABLE clientes
(
     id_cliente int NOT NULL AUTO_INCREMENT PRIMARY KEY, /*Aqui me da error*/
     nombre text NOT NULL
     
     
)

CREATE TABLE articulos
(
    id_articulo int NOT NULL PRIMARY KEY,
    nombre text NOT NULL
   
)

CREATE TABLE ventas
(
    id_venta int NOT NULL PRIMARY KEY,
    id_cliente int NOT NULL FOREIGN KEY(id_cliente)  REFERENCES clientes(id_cliente),
    cantidad int NOT NULL, /*La cantidad de unidades de ese articulo*/
    id_articulo int NOT NULL FOREIGN KEY (id_articulo) REFERENCES articulos(id_articulo),
    precio_unitario real NOT NULL,
    precio_total real NOT NULL
 
)

Otra duda, en caso de que anduviera en auto increment, al realizar el inserte solo se le pasa un parametro a la parte de values ?


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Tablas relacionadas en sql , duda
« Respuesta #1 en: 24 Diciembre 2009, 20:35 pm »

Intentá Así:
SQL Server 2008
Código:
CREATE TABLE dbo.Clientes (
[Id_Cliente] [Int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[Nombre] [Text] NOT NULL
)
GO

Otra duda, en caso de que anduviera en auto increment, al realizar el inserte solo se le pasa un parametro a la parte de values ?
Simon! Cuando es un Identity, No es necesario pasarle un valor dentro del INSERT, En esté caso solo le pasas el valor de Nombre... :D

Saludos!


« Última modificación: 24 Diciembre 2009, 20:37 pm por alex19910218 » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Tablas relacionadas en sql , duda
« Respuesta #2 en: 24 Diciembre 2009, 21:58 pm »

Perfecto, muschas gracias pero sabes si se pueden poner expresiones aritmeticas dentro del "INSERT", por ejemplo el campo de la tabla ventas llamado "precio_total", es la multiplicacion del campo "cantidad" y "precio_unitario", eso se especifica en la tabla o en el "INSERT" ?
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Tablas relacionadas en sql , duda
« Respuesta #3 en: 24 Diciembre 2009, 22:23 pm »

Para eso Crearemos un Store Procedure, aunque tambien se puede crear dentro de un SELECT o INSERT o lo que sea, solo que me gustan más los Store Procedure. Por Ejemplo:

Tabla: TblProcesos (Tabla donde se almacena los resultados de Suma, Resta, Multiplicación y División)
Código:
CREATE TABLE [dbo].[TblProcesos](
[Id] [int] NOT NULL PRIMARY KEY,
[Suma] [varchar](50) NOT NULL,
[Resta] [varchar](50) NOT NULL,
[Multiplicacion] [varchar](50) NOT NULL,
[Division] [varchar](50) NOT NULL
)

Store Procedure: StProcesos (Procedimiento Almacenado para realizar las operacion y la insercion dentro de la tabla de TblProcesos)
Código:
-- =============================================
-- Author: < Shell Root >
-- Create date: < 24/12/2009 >
-- Description: < Procesos e Inserción >
-- =============================================
CREATE PROCEDURE StProcesos(
-- Parametros
@Numero1 AS INT,
@Numero2 AS INT
)
AS
BEGIN
SET NOCOUNT ON;

-- Variables
DECLARE @Suma AS INT
DECLARE @Resta AS INT
DECLARE @Multiplicacion AS INT
DECLARE @Division AS INT

-- Procesos
SET @Suma = @Numero1 + @Numero2
SET @Resta = @Numero1 - @Numero2
SET @Multiplicacion = @Numero1 * @Numero2
SET @Division = @Numero1 / @Numero2

-- Inserción
INSERT INTO TblProcesos(Suma, Resta, Multiplicacion, Division)
VALUES (@Suma,@Resta,@Multiplicacion,@Division)
END
GO

Ejecución:
Código:
EXEC dbo.StProcesos 3,1

Resultado:
Código:
1 4 2 3 3
NULL NULL NULL NULL NULL

Saludos!
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Tablas relacionadas en sql , duda
« Respuesta #4 en: 25 Diciembre 2009, 01:40 am »

MMM la verdad que no entendi, podrias ponerlo como se hace en el insert? Yo imaginaba algo mas simple como esto por ejemplo:

Código:
insert into ventas values (1,1,5,1,45.90,45.90*5)
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Tablas relacionadas en sql , duda
« Respuesta #5 en: 25 Diciembre 2009, 19:21 pm »

MMM la verdad que no entendi, podrias ponerlo como se hace en el insert? Yo imaginaba algo mas simple como esto por ejemplo:

Código:
insert into ventas values (1,1,5,1,45.90,45.90*5)

Claro, es simple.
Insert:
Código:
INSERT INTO TblProcesos (Suma, Resta, Multiplicacion, Division)
VALUES (10 + 2, 2 - 1, 2 * 2, 6 / 2)

Resultado:
Código:
2 12 1 4 3

Saludos!
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines