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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  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 9,165 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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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.724


<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

Te vendería mi talento por poder dormir tranquilo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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