http://lvsistemas.blogspot.pe/p/vb.html
CREAR BASE DE DATOS EN SQL/*ESCRIPT PARA LACREACION UNA BASE DE DATOS */
CREATE DATABASE BDONPRIMARY (NAME=EJEMPLODATA,FILENAME='D:\VIDAL\LVIDAL\LV-SISTEMAS\LV_SISTEMAS\Sist-Remot\BD\BD.MDF', SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)LOG ON(NAME=EJEMPLOLOG,FILENAME='D:\VIDAL\LVIDAL\LV-SISTEMAS\LV_SISTEMAS\Sist-Remot\BD\BD.LDF',SIZE=5MB,MAXSIZE=5MB,FILEGROWTH=1MB)COLLATE SQL_LATIN1_GENERAL_CP1_CI_AS/* CREACION DE UNA TABLA Y ADICIONAR NUEVOS CAMPOS*/
USE BDGOCREATE TABLE DBO.USUARIO(ID INT IDENTITY(1,1),NOMBRE NVARCHAR(20) NULL,CI NVARCHAR(09) NULL,EMAIL NVARCHAR(30) NULL,USUARIO NVARCHAR(20) NULL,CLAVE NVARCHAR(20) NULL,NIVEL NVARCHAR(15) NULL,FECHA NVARCHAR(10) NULL,)GOCONSULTAS SQL - SELECT /*--LA CONSULTA MUESTRA TODAS LAS TABLAS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'/*--LA CONSULTA MUESTRA TODAS LAS VISTAS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='V'
http://lvsistemas.blogspot.pe/p/vb.html
/*--LA CONSULTA MUESTRA TODOS LOS PROCEDIMIENTOS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='P'/*--LA CONSULTA MUESTRA TODOS LOS TRIGGERS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='T'/*--LA CONSULTA MUESTRA TODAS LAS LLAVES FORANEAS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='F'/*--LA CONSULTA MUESTRA TODAS LAS LLAVES PRIMARIAS DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='K'/*--LA CONSULTA MUESTRA TODOS LOS OBJETOS DEL SISTEMA DE LA BASE DE DATOS*/
SELECT NAME FROM SYSOBJECTS WHERE TYPE='S'/*--LA CONSULTA MUESTRA TODOS LOS OBJETOS DE LA BASE DE DATOS: TABLAS, PROCEDIMIENTOS ALMACENADOS, ETC.*/
SELECT CAST(TABLE_NAME AS VARCHAR) FROM INFORMATION_SCHEMA.TABLES/*--LA CONSULTA MUESTRA TODAS LAS BASES DE DATOS, PERO NO MUESTRA LAS DE SISTEMA: MASTER,MODEL, MSDB Y TEMDB*/
SELECT NAME FROM MASTER.DBO.SYSDATABASES WHERE NAME NOT IN ('MASTER','MODEL','MSDB','TEMPDB')
QUERY SQL /*--SQLQUERY_AGREGAR*/
USE INVENTARIOGOINSERT ZONAS (ID, DESCRIPCION,OBSERVACIONES,VENTAS)VALUES (1,'MARACAIBO','VENTAS ALTAS',200)GO
/*--SQLQUERY_AGREGAR CAMPOS*/
USE INVENTARIOGOALTER TABLE ZONAS ADD MONTO MONEY NULL
/*--SQLQUERY_AGREGAR RERISTROS DEFAULT*/
USE INVENTARIOGOINSERT ZONAS (ID, DESCRIPCION,OBSERVACIONES,VENTAS)VALUES (2,DEFAULT,DEFAULT,DEFAULT)GO
/*--SQLQUERY_BORRAR BD*/
DROP DATABASE NOMINA /*--SQLQUERY_BORRAR TABLA*/
http://lvsistemas.blogspot.pe/p/vb.html
USE INVENTARIOGODROP TABLE CLIENTES
/*--SQLQUERY_CONSULTA CAMPO CALCULADOS*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO,(SUELDO+SUELDO*0.40) AS SUELDO_NUEVOFROM EMPLEADOS
/*--SQLQUERY_CONSULTA MÚLTIPLES TABLAS*/
USE INVENTARIOGOSELECT CODIGO,ARTICULOS.DESCRIPCION,TIPO,PRECIO,CANTIDAD,ARTICULOS.ID_CATALOGO,CATALOGO.DESCRIPCION,CATALOGO.OBSERVACIONESFROM ARTICULOS,CATALOGOWHERE (ARTICULOS.ID_CATALOGO=CATALOGO.ID_CATALOGO)
/*--SQLQUERY_CONTAR REGISTROS*/
USE INVENTARIOGOSELECT COUNT (ID_EMPLEADO) AS TOTAL_EMPLEADOSFROM EMPLEADOS
/*--SQLQUERY_CREAR TABLA*/
USE INVENTARIOGOCREATE TABLE ZONAS (ID INT,DESCRIPCION VARCHAR(10) NOT NULL,OBSERVACIONES TEXT NULL)GO /*--SQLQUERY_CREAR TABLA ESPECIAL*/
USE INVENTARIOGO
CREATE TABLE CLIENTES (CODIGO UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),NOMBRE VARCHAR(20)NOT NULL, APELLIDO VARCHAR(20) NOT NULL)
/*--SQLQUERY_CREAR TIPOS DE DATOS*/
USE INVENTARIOGO
http://lvsistemas.blogspot.pe/p/vb.html
EXEC SP_ADDTYPE NOTAS,'VARCHAR(10)',NULL
/*--SQLQUERY_ELIMINAR CAMPOS*/
USE INVENTARIOGOALTER TABLE ZONAS DROP COLUMN MONTO
/*--SQLQUERY_ELIMINAR OR*/
USE INVENTARIOGODELETE ZONAS WHERE (VENTAS= 100 OR VENTAS=120)
/*ELIMINA TODOS LOS REGISTROS DE LA TABLA ZONAS QUEEN EL CAMPO VENTAS SEAN IGUAL A 100 O A 120*/
/*--SQLQUERY_ELIMINAR POR UN RANGO DE DATOS*/
USE INVENTARIOGODELETE ZONAS WHERE (VENTAS>= 150 OR VENTAS<=250)
/*--SQLQUERY_ELIMINAR TABLA*/
USE INVENTARIOGODROP TABLE ZONAS2GO
/*--SQLQUERY_ESCALAR FUNCIONES*/
USE INVENTARIOSELECT MIN(SUELDO) AS MINIMO,MAX(SUELDO) AS MAXIMO,AVG(SUELDO) AS PROMEDIO,SUM(SUELDO) AS SUMATORIAFROM EMPLEADOS
/*--SQLQUERY_FILTRO BETWEEN*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOSWHERE (SUELDO>=100 AND SUELDO<=500)
/* OTRA MANERA DE HACER EL MISMO FILTRO:WHERE SUELDO BETWEEN 100 AND 500*/
/*--SQLQUERY_FILTRO CON% OPERADOR LIKE*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO
http://lvsistemas.blogspot.pe/p/vb.html
FROM EMPLEADOSWHERE NOMBRE LIKE 'A%' AND SUELDO >=100
/*--SQLQUERY_FILTRO DE DISTINTINOS CAMPOS*/
USE INVENTARIOGOSELECT DISTINCT CARGOFROM EMPLEADOSORDER BY CARGO
/*--SQLQUERY_FILTRO DE LOS 3 PRIMEROS REGISTROS*/
USE INVENTARIOGOSELECT TOP 3 ID_EMPLEADO,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOSORDER BY APELLIDO ASC
/*PARA FILTRAR EL PRIMER REGISTROUSE INVENTARIOGOSELECT TOP 1 ID_EMPLEADO,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOS*/
/*--SQLQUERY_FILTRO DOBLE*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO,CARGOFROM EMPLEADOSWHERE (ID_EMPLEADO=1)GO SELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO,CARGOFROM EMPLEADOSWHERE (CARGO='GERENTE')GO
/*--SQLQUERY_FILTRO ORDER BY*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOSORDER BY SUELDO DESC
/*ASCDESC*/
/*--SQLQUERY_FILTRO POR WHERE IN*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO,CARGOFROM EMPLEADOS
http://lvsistemas.blogspot.pe/p/vb.html
WHERE CARGO IN ('GERENTE','ANALISTA')
/*--SQLQUERY_FILTRO UNIENDO COLUMNAS*/
USE INVENTARIOGOSELECT ID_EMPLEADO AS CODIGO,NOMBRE+' '+ APELLIDO AS EMPLEADO, SUELDO AS SUELDO,CARGOFROM EMPLEADOSWHERE CARGO IS NULL
/*FILTRADO PARA UNIR DOS CAMPOS EN UNO SOLO ES DECIR EN ESTE EJEMPLOAPARECE EL NOMBRE Y EL APELLIDO EN UNA MISMA COLUMNAS*/
/*--SQLQUERY_FILTRO USO DE LITERALES*/
USE INVENTARIOGOSELECT NOMBRE,APELLIDO,'CODIGO DEL EMPLEADO',ID_EMPLEADOFROM EMPLEADOSGO
/*--SQLQUERY_FILTRO X CAMPOS NULL*/
USE INVENTARIOGOSELECT ID_EMPLEADO, NOMBRE, APELLIDO, SUELDO, CARGOFROM EMPLEADOSWHERE CARGO IS NULL
/*SI SE LE COLOCA * A LADO DE SELECT TOMARIA TODOS LOS CAMPOS DE LA TABLA*/
/*--SQLQUERY_INSERT TRANSACTION*/
USE INVENTARIOGOBEGIN TRANSACTION
/*PRIMERA TRANSACCIÓN*/
INSERT INTO ZONAS (DESCRIPCION,OBSERVACIONES,VENTAS)VALUES ('MARGARITA','EXCELENTES VENTAS',800)
/*SEGUNDA TRANSACCION*/
INSERT INTO ZONAS (DESCRIPCION,OBSERVACIONES,VENTAS)VALUES ('PUERTO ORDAZ','MALAS VENTAS',50)
COMMIT TRANSACTION
/*--SQLQUERY_INSERT TRANSACTION_ROLLBACK TRANSACTION*/
USE INVENTARIOBEGIN TRANSACTIONINSERT INTO CATALOGO(ID_CATALOGO,DESCRIPCION,OBSERVACIONES)
http://lvsistemas.blogspot.pe/p/vb.html
VALUES ('PERFUMERIA','COSMETICOS','INFORMACION ERRADA')
INSERT INTO CATALOGO(ID_CATALOGO,DESCRIPCION,OBSERVACIONES)VALUES ('OTROS','ARTICULOS','SIN INFORMACION')
/*ROLLBACK TRANSACTION: SE UTILIZA PARA QUE NO REALIZAR LA OPERACION*/
COMMIT TRANSACTION
/*--SQLQUERY_INSERTAR CON SELECT (APPEN FROM)*/
USE INVENTARIOGOINSERT ZONAS2 SELECT ID,DESCRIPCION,OBSERVACIONES,VENTAS FROM ZONAS WHERE (VENTAS>100)GO
/*INSERTA EN LA TABLA ZONAS2 TODOS LOS REGISTROS MAYOR QUE 100 EXISTENTES EN LA TABLA ZONAS*/
/*--SQLQUERY_MODIFICAR CON CONDICION*/
USE INVENTARIOGOUPDATE ZONAS SET DESCRIPCION='CARACAS',OBSERVACIONES='VENTAS REGULARES',VENTAS=200WHERE (ID=21)
/*--SQLQUERY_MODIFICAR CON CONDICION REALIZANDO RANGOS DE REGISTROS*/
USE INVENTARIOGOUPDATE ZONAS SET VENTAS=VENTAS+VENTAS*0.50WHERE (VENTAS>=100 AND VENTAS<=400)
/*ACTUALIZA POR RANGOS DE DATOS*/
/*--SQLQUERY_MODIFICAR Y COLOCAR %*/
USE INVENTARIOGOUPDATE ZONAS SET VENTAS=VENTAS+VENTAS*0.20GO
/*MODIFICA LAS VENTAS Y LE SUMAN UN 20% A CADA UNO DE LOS REGISTROS*/
/*--SQLQUERY_PROMEDIO*/
USE INVENTARIOGOSELECT COUNT(SUELDO) AS CONTEO,SUM(SUELDO) AS SUMATORIA,
http://lvsistemas.blogspot.pe/p/vb.html
AVG(SUELDO) AS PROMEDIOFROM EMPLEADOS
/*--SQLQUERY_RESPALDO BD*/
BACKUP DATABASE PRUEBATO DISK='C:\RESPALDO SQL LV\PRUEBA_LV.BAK'WITHFORMAT
/*--SQLQUERY_RESTAURACION BD*/
RESTORE DATABASE PRUEBA FROM DISK='C:\RESPALDO SQL LV\PRUENA_LV.BAK' /*--SQLQUERY_SELECT CALCULO DEL SUELDO X DIAS*/
USE INVENTARIOGOSELECT ID_EMPLEADO,NOMBRE,APELLIDO,SUELDO,DIAS,(SUELDO*DIAS) AS TOTAL_A_COBRARFROM EMPLEADOSWHERE (DIAS>=5)
/*--SQLQUERY_SELECT INSERT*/
USE INVENTARIOGOSELECT ID AS CODIGO,DESCRIPCION AS CONCEPTO,OBSERVACIONES AS COMENTARIOS,VENTAS AS MONTO,(VENTAS*2) AS VENTABOBLEINTO RESPALDOZONAS FROM ZONASGO
/*--SQLQUERY (ELIMINAR TODO LOS REGISTROS DE UNA TABLA)*/
USE INVENTARIOGOTRUNCATE TABLE ZONAS2GO
/*ELIMINA TODOS LOS REGISTRO DE LA TABLA*/
SINTAXIS SQL SELECT
SELECT "NOM DE COLOMNA" FROM "NOMBRE_TABLA"
DISTINCT
SELECT DISTINCT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"
WHERE
http://lvsistemas.blogspot.pe/p/vb.html
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"WHERE "CONDITION"
AND/OR
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"WHERE "CONDICIÓN SIMPLE"{[AND|OR] "CONDICIÓN SIMPLE"}+
IN
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"WHERE "NOMBRE_COLUMNA" IN ('VALOR1', 'VALOR2', ...)
BETWEEN
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"WHERE "NOMBRE_COLUMNA" BETWEEN 'VALOR1' AND 'VALOR2'
LIKE
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"WHERE "NOMBRE_COLUMNA" LIKE {PATRÓN}
ORDER BY
SELECT "NOMBRE_COLUMNA"FROM "NOMBRE_TABLA"[WHERE "CONDICIÓN"]ORDER BY "NOMBRE_COLUMNA" [ASC, DESC]
COUNT
SELECT COUNT("NOMBRE_COLUMNA")FROM "NOMBRE_TABLA"
GROUP BY
SELECT "NOMBRE_COLUMNA 1", SUM("NOMBRE_COLUMNA 2")FROM "NOMBRE_TABLA"GROUP BY "NOMBRE_COLUMNA 1"
HAVING
SELECT "NOMBRE_COLUMNA 1", SUM("NOMBRE_COLUMNA 2")FROM "NOMBRE_TABLA"GROUP BY "NOMBRE_COLUMNA 1"HAVING (CONDICIÓN DE FUNCIÓN ARITMÉTICA)
http://lvsistemas.blogspot.pe/p/vb.html
CREATE TABLE
CREATE TABLE "NOMBRE_TABLA"("COLUMNA 1" "TIPO_DE_DATOS_PARA_COLUMNA_1","COLUMNA 2" "TIPO_DE_DATOS_PARA_COLUMNA_2",... )
DROP TABLE
DROP TABLE "NOMBRE_TABLA"
TRUNCATE TABLE
TRUNCATE TABLE "NOMBRE_TABLA"
INSERT INTO
INSERT INTO "NOMBRE_TABLA" ("COLONNE 1", "COLONNE 2", ...)VALORS ("VALOR 1", "VALOR 2", ...)
UPDATE
UPDATE "NOMBRE_TABLA"SET "COLONNE 1" = [NUEVO VALOR]WHERE {CONDITION}
DELETE FROM
DELETE FROM "NOMBRE_TABLA"WHERE {CONDICIÓN}BACKUP SQL /*--SQLQUERY_BACKUP COPIA DE SEGURIDAD DE UNA BASE DE DATOS*/
/* BACKUP COPIA DE SEGURIDAD DE UNA BASE DE DATOS
NOTA: SE DEBE CAMBIAR EL MODELO DE RECUPERANCION DE LA BASE DE DATOS A LA HORA DE RECUPERAR:
IR A:
CLIC DERECHO EN LA BASE DE DATOS
>>PROPIEDADES>>OPCIONES>>MODELO DE RECUPERACION --> COMPLETA*/
-- EJEMPO 1:
-- SCRIT PARA LA CREACION DE RESPALDOS DIRECTOS-- SIN LA CREACION DE DISPOSITIVOS O VOLUMENES LOGICAS
USE MASTERBACKUP DATABASE EJEMPLO
http://lvsistemas.blogspot.pe/p/vb.html
TO DISK='C:\LVIDAL(SQL CURSO INTERMEDIO-AVANZADO)\SQLQUERY\RESPALDO.BAK'
-- EJEMPLO 2:
-- SCRIPT PARA LA CREACION DE RESPALDOS HACIENDO-- USO EXCLUSIVO DE DIDPOSITIVOS DE ALMACENAMIENTO
USE MASTEREXEC SP_ADDUMPDEVICE 'DISK','EJEMPLOBACKUP2','C:\LVIDAL(SQL CURSO INTERMEDIO-AVANZADO)\SQLQUERY\RESPALDO2.BAK'BACKUP DATABASE EJEMPLO TO EJEMPLOBACKUP2
-- EJEMPLO 3:
-- SCRIPT PARA EL RESPALDO DIFERENCIAL DE LA BASE DE DATOS-- RESPALDA LOS UNTIMOS CAMBIOS DE LA BASE DE DATOS COM-- UN RESPALDO COMPLETO YA REALIZADO
BACKUP DATABASE EJEMPLOTO DISK='C:\LVIDAL(SQL CURSO INTERMEDIO-AVANZADO)\SQLQUERY\RESPALDO_DIFERENCIAL.BAK' WITH DIFFERENTIAL
-- EJEMPLO 4:
-- SCRIPT PARA LA CREACION DE RESPALDOS DEL LOG DE TRANSACCIONES-- HACIENDO USO EXTENSIVO DE DISPOSITIVOS DE ALMACENAMIENTO
EXEC SP_ADDUMPDEVICE 'DISK','EJEMPLOBACKUP','C:\LVIDAL(SQL CURSO INTERMEDIO-AVANZADO)\SQLQUERY\EJEMPLOBACKUPLOG'BACKUP DATABASE EJEMPLO TO EJEMPLOBACKUP2BACKUP LOG EJEMPLO TO EJEMPLOBACKUP
BACKUP DESDE .NET:
DIM SBACKUP AS STRING = "BACKUP DATABASE " & ME.TXTBASE.TEXT & _ " TO DISK = N'" & ME.TXTBACKUP.TEXT & _ "' WITH NOFORMAT, NOINIT, NAME =N'" & ME.TXTBASE.TEXT & _ "' -FULL DATABASE BACKUP',SKIP, STATS = 10"
DIM CSB AS NEW SQLCONNECTIONSTRINGBUILDERCSB.DATASOURCE = ME.TXTSERVIDOR.TEXTCSB.INITIALCATALOG = ME.TXTBASE.TEXTCSB.INTEGRATEDSECURITY = TRUE
USING CON AS NEW SQLCONNECTION(CSB.CONNECTIONSTRING) TRY CON.OPEN()
DIM CMDBACKUP AS NEW SQLCOMMAND(SBACKUP, CON)
CMDBACKUP.EXECUTENONQUERY()
MESSAGEBOX.SHOW("SE HA CREADO UN BACKUP DE LA BASE DE DATOS SATISFACTORIA
http://lvsistemas.blogspot.pe/p/vb.html
"COPIA DE SEGURIDAD DE BASE DE DATOS", _ MESSAGEBOXBUTTONS.OK, MESSAGEBOXICON.INFORMATION)
CON.CLOSE()
CATCH EX AS EXCEPTION MESSAGEBOX.SHOW(EX.MESSAGE, _ "ERROR AL COPIAR LA BASE DE DATOS", _ MESSAGEBOXBUTTONS.OK, MESSAGEBOXICON.ERROR) END TRYEND USINGFILTROS SQL
FILTROS SQL
'DEPENDE UN POCO DE LA ESTRUCTURA QUE TENGAN TUS TABLAS Y DE CUÁNDO CONSIDERAS QUE HAY DIFERENCIAS.
'SI IMAGINAMOS DOS TABLAS (TABLA1 Y TABLA2) CON LA ESTRUCTURA ID, CAMPO1,CAMPO2 DONDE ID ES LA CLAVE PRIMARIA, PODRÍAS:
1) ENCONTRAR LOS REGISTROS DE TABLA1 QUE NO EXISTEN EN TABLA2 DE LA SIGUIENTE MANERA:
SELECT [TABLA1].* FROM [TABLA1] LEFT JOIN [TABLA2] ON [TABLA1].[ID] = [TABLA2].[ID] WHERE [TABLA2].[ID] IS NULL
2) ENCONTRAR LOS REGISTROS DE TABLA2 QUE NO EXISTEN EN TABLA1 DE LA SIGUIENTE MANERA:
SELECT [TABLA2].* FROM [TABLA1] RIGHT JOIN [TABLA2] ON [TABLA1].[ID] = [TABLA2].[ID] WHERE [TABLA1].[ID] IS NULL
3) ENCONTRAR LOS REGISTROS DE TABLA1 Y TABLA2 QUE, CON LA MISMA CLAVE, TIENEN ALGUNA DIFERENCIA EN EL VALOR DE ALGUNO DE LOS OTROS CAMPOS, DE LA SIGUIENTE MANERA:
SELECT [TABLA1].*, [TABLA2].* FROM [TABLA1] INNER JOIN [TABLA2] ON[TABLA1].[ID] = [TABLA2].[ID] WHERE [TABLA1].[CAMPO1]UNIR 4 O MAS TABLAS EN UN INNER JOIN COMO UNIR 4 O MAS TABLAS EN UN INNER JOIN
SELECT
//AQUÍ COLOCA LOS CAMPOS QUE DESEAS VISUALIZAR SEGÚN LAS TABLAS
TABLA1.CAMPO, TABLA2.CAMPO, TABLA3.CAMPO, TABLA4.CAMPO
FROM
TABLA1
INNER JOIN TABLA2
http://lvsistemas.blogspot.pe/p/vb.html
ON TABLA1.CAMPO = TABLA2.CAMPO
INNER JOIN TABLA3
ON TABLA3.CAMPO = TABLA2.CAMPO
INNER JOIN TABLA4
ON TABLA4.CAMPO = TABLA3.CAMPO
//SE CONTINUAN AGREGANDO LOS INNER JOIN SEGÚN LA
CANTIDAD DE TABLAS QUE DESEAS UNIR SCRIPT PARA LA CREACIÓN DE UN STORE PROCEDURE CON PASE DE PARAMETROS /*SCRIPT PARA LA CREACIÓN DE UN STORE PROCEDURE CON PASE DE PARAMETROS Y VALORES DE RETORNO DE SALIDA PARA CONSULTAR UN REGISTRO EN UNA BASE DE DATOS*/
USE EJEMPLOGOCREATE PROCEDURE DBO.CONSULTA_SUELDO@P_ID NCHAR(10)ASSELECT ID,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOS WHERE ID=@P_IDGO-- PARA LLAMARLO SERIA:
--1 FORMA DE LLAMARLO
USE EJEMPLOGOEXEC CONSULTA_SUELDO@P_ID=99
--2 FORMA DE LLAMARLO
USE EJEMPLOGOEXEC
CONSULTA_SUELDO '99'CREACIÓN Y EJECUCIÓN DE UN PROCEDIMIENTO ALMACENADO /*--SQLQUERY_SCRIPT PARA LA CREACIÓN Y EJECUCIÓN DE UN PROCEDIMIENTO ALMACENADO*/
http://lvsistemas.blogspot.pe/p/vb.html
/*SCRIPT PARA LA CREACION DE UN PROCEDIMIENTO ALMACENADOUSANDO LA SENTENCIA SELECT*/
--CREACIÓN DEL PROCEDIMIENTO ALMACENADO
USE EJEMPLOGOCREATE PROCEDURE DBO.CONSULTAEMPLEADOS2ASSELECT ID,NOMBRE,APELLIDO,SUELDOFROM EMPLEADOS WHERE SUELDO>1000GO
--EJECUCIÓN DEL PROCEDIMIENTO ALMACENADO
USE EJEMPLOGOEXEC CONSULTAEMPLEADOS2EXEC SP_HELPCREACION Y USO DE VARIABLES CON EL LENGUAJE TRANSACT-SQL /*--SQLQUERY_CREACION Y USO DE VARIABLES CON EL LENGUAJE TRANSACT-SQL*/
USE EJEMPLOGODECLARE @ID NCHAR(10),@NOMBRE NCHAR(10)SET @NOMBRE='LEONARDA'SET @ID='06'
SELECT * FROM EMPLEADOS WHERE ID=@IDSELECT * FROM EMPLEADOS WHERE NOMBRE LIKE @NOMBRE+'%'SELECT * FROM EMPLEADOSCREACION Y USO DE VARIABLES CON EL LENGUAJE TRANSACT-SQL /*--SQLQUERY_CREACION Y USO DE VARIABLES CON EL LENGUAJE TRANSACT-SQL*/
USE EJEMPLOGODECLARE @ID NCHAR(10),@NOMBRE NCHAR(10)SET @NOMBRE='LEONARDA'SET @ID='06'
SELECT * FROM EMPLEADOS WHERE ID=@IDSELECT * FROM EMPLEADOS WHERE NOMBRE LIKE @NOMBRE+'%'SELECT * FROM EMPLEADOS
http://lvsistemas.blogspot.pe/p/vb.html
ELEMENTOS DEL LENGUAJE DE PROGRAMACION CON TRANSACT-SQL /*--SQLQUERY_ELEMENTOS DEL LENGUAJE DE PROGRAMACION CON TRANSACT-SQL*/
/*ELEMENTOS DEL LENGUAJE DE PROGRAMACION CON TRANSACT-SQL
BLOQUES BEGIN... ENDBLOQUES IF... ELSEQLOQUES WHILE */
DECLARE @N TINYINTSET @N=04IF (@N BETWEEN 04 AND 06)BEGINWHILE(@N>0)BEGINSELECT @N AS 'NUMBER',CASEWHEN(@N %2)=0THEN 'PAR'ELSE 'IMPAR'END AS 'TYPE'SET @N=@N-1ENDENDELSEPRINT 'NO HAY ANALISIS'GOELIMINAR UN DESENCADENADOR /*--SQLQUERY_ELIMINAR UN DESENCADENADOR*/
/*ELIMINAR DE UN DESENCADENADOR*/
USE EJEMPLOGODROP TRIGGER BORRAR_EMPLEADOFUNCIONAMIENTO DE UN DESENCADENADOR UPDATE /*--SQLQUERY_FUNCIONAMIENTO DE UN DESENCADENADOR UPDATE*/
/*FUNCIONAMIENTO DE UN DESENCADENADOR UPDATETRIGGER QUE SE EJECUTA CUANDO SE LLEVA A CABO UN UPDATE ENUNA TABLA Y NO PERMITE QUE SE MODIFIQUE UN CAMPO EN LA TABLA */
USE EJEMPLO
http://lvsistemas.blogspot.pe/p/vb.html
GOCREATE TRIGGER TR_ORDEN ON PEDIDOFOR UPDATEASIF UPDATE(ORDEN)BEGINBEGIN TRANSACTION PRINT('NO SE PUEDE MODIFICAR EL NUMERO DE LA ORDEN')ROLLBACK TRANSACTIONEND
--PARA PROBARLO:
UPDATE PEDIDO SET ORDEN='02'UPDATE PEDIDO SET DESCRIPCION='COMPRAS' WHERE ORDEN='ORD01'ELIMINAR UN PROCEDIMIENTO ALMACENADO /*--SQLQUERY_SCRIPT PARA ELIMINAR UN PROCEDIMIENTO ALMACENADO*/
USE EJEMPLOGODROP PROCEDURE CONSULTAEMPLEADOS2MODIFICAR PROCEDIMIENTO ALMACENADO /*--SQLQUERY_SCRIPT PARA MODIFICAR UN PROCEDIMIENTO ALMACENADO*/
USE EJEMPLOGOALTER PROCEDURE DBO.CONSULTAEMPLEADOS2ASSELECT ID,NOMBRE,SUELDOFROM EMPLEADOS WHERE SUELDO>1000 ORDER BY NOMBREGO PROMEDIO DE SUELDO SQL /*--SQLQUERY_USO DE FUNCIONES EN TRANSACT-SQL (SUELDO MIN,MAX Y PROMEDIO DE SUELDO)*/
/*USO DE FUNCIONES EN TRANSACT-SQL (SUELDO MIN,MAX Y PROMEDIO DE SUELDO)*/
USE EJEMPLOGOSELECT AVG(SUELDO) AS SUELDO_PROMEDIO FROM EMPLEADOSGOSELECT DB_NAME() AS 'DATABASE'GOSELECT MIN(SUELDO) AS SUELDO_MINIMO, MAX(SUELDO) AS SUELDO_MAXIMO FROM EMPLEADOSFUNCIONES EN SQL /*FUNCIONES DE AGREGADO:
AVG()
http://lvsistemas.blogspot.pe/p/vb.html
BINARY_CHECKSUM()CHECKSUM()CHECKSUM_AGG()COUNT()COUNT_BIG()GROUPING()MAX()MIN()STDEV()STDEVP()SUM()VAR()VARP()
FUNCIONES MATEMÁTICAS:
ABS()ACOS()ASIN()ATAN()ATN2()CEILING()COS()COT()DEGRES()EXP()FLOOR()LOG()LOG10()PI()POWER()RADIANS()RAND()ROUND()SIGN()SIN()SQRT()SQUARE()TAN()*/COPIAR UNA TABLA EN SQL /*--SQLQUERY_COPIA EXACTA DE UNA TABLA CON CONDICIONESSELECT*/
USE EJEMPLOGOSELECT ID,NOMBRE,APELLIDO,SUELDO INTO EMPLEADO_MAYORFROM EMPLEADOS WHERE SUELDO>1000GOCREAR TABLA CON CAMPOS ENCRIPTADOS /*--SQLQUERY_ CREAR TABLA Y ADICIONAR NUEVOS CAMPOS (CAMPOS ENCRIPTADOS)*/
http://lvsistemas.blogspot.pe/p/vb.html
USE EJEMPLOGOCREATE TABLE DBO.CLIENTE(ID UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),NOMBRE NVARCHAR(20) NOT NULL)GOAGREGAR TIPOS DE DATOS /*--SQLQUERY_AGREGAR TIPOS DE DATOS*/
--EJECUTAR UN UP DEL SISTEMA PARA AGREGAR TIPOS DE DATOSUSE EJEMPLOGOEXEC SP_ADDTYPE CIUDAD,'NVARCHAR(15)',NULL
EXEC SP_ADDTYPE PAIS,'NVARCHAR(15)',NULLELIMINAR TIPOS DE DATOS /*--SQLQUERY_ELIMINAR TIPOS DE DATOS*/
--EJECUTAR UN UP DEL SISTEMA PARA ELIMINAR TIPOS DE DATOSUSE EJEMPLOGOEXEC SP_DROPTYPE PAISELIMINAR UNA BASE DE DATOS /*--SQLQUERY_ELIMINAR UNA BD*/
--ELIMINAR UNA BDUSE MASTERGODROP DATABASE EJEMPLOREDUCIR EL TAMAÑO DE UNA BASE DE DATOS /*--SQLQUERY_REDUCIR EL TAMAÑO DE UNA BASE DE DATOS*/
-- COMANDO PARA REDUCIR EL TAMAÑO DE UNA BASE DE DATOS COMPLETA
USE EJEMPLOGODBCC SHRINKDATABASE (EJEMPLO,10)CONSULTAR EL ESPACIO DE UNA BASE DE DATOS /*--SQLQUERY_CONSULTAR EL ESPACIO DE BD*/
/*SCRIPT QUE PERMITE INVOCAR LOS PROCEDIMIENTOS DELSISTEMA PARA CONSULTAR EL ESPACIO CONSUMIDO PORLA BASE DE DATOS REGISTRADA EN LA INSTACIA DE SQL*/
EXEC SP_HELPDBEXEC SP_HELPDB EJEMPLOUSE EJEMPLO
http://lvsistemas.blogspot.pe/p/vb.html
GOEXEC SP_SPACEUSED EMPLEADOSAGREGAR UN ARCHIVO DE DATOS /*--SQLQUERY_AGREGAR UN ARCHIVO DE DATOS*/
--COMADO PARA ADICIONAR UN ARCHIVO DE DATOS DE UNA BD ACTIVA
ALTER DATABASE EJEMPLOADD FILE(NAME=EJEMPLODATA2,FILENAME='C:\LVIDAL(SQL CURSO INTERMEDIO-AVANZADO)\SQL BD (LV-SISTEMAS)\EJEMPLO2.NDF',SIZE=15MB,MAXSIZE=20MB)GOMODIFICAR EL TAMAÑO DEL ARCHIVO DE TRANSACCIONES /*--SQLQUERY_MODIFICAR EL TAMAÑO DEL ARCHIVO DE TRANSACCIONES DE UNA BD*/
/*COMANDO PARA MODIFICAR EL TAMAÑODEL ARCHIVO DE TRANSACCIONESDE UNA BD*/
ALTER DATABASE EJEMPLOMODIFY FILE (NAME='EJEMPLOLOG',SIZE=15MB)MOSTRAR LA INFORMACIÓN DE BASE DE DATOS SQL /*--SQLQUERY_MOSTRAR LA INFORMACIÓN DE LA BD*/
EXEC SP_HELPDBGOSP_HELPDB EJEMPLO
/*SQLQUERY_AYUDA INFORMACION DE LA BD*/
EXEC SP_HELPDB INVENTARIOACTUALIZAR REGISTROS EN SQL
/*--SQLQUERY_ACTUALIZAR CON CONDICION*/
USE INVENTARIOGOUPDATE ZONAS SET OBSERVACIONES='VENTAS EXCELENTES',VENTAS=800WHERE (ID=18 AND DESCRIPCION='CARACAS')GO
/*--SQLQUERY_ACTUALIZAR WHERE ID*/
http://lvsistemas.blogspot.pe/p/vb.html
USE INVENTARIOGOUPDATE ZONAS SET VENTAS=VENTAS+VENTAS*0.05WHERE (ID>18)