Red de conocimiento informático - Problemas con los teléfonos móviles - Ideas de programación Uq

Ideas de programación Uq

Uno completo. Para verificar, use main

go

-crear una base de datos

si existe (seleccione * de sysdatabases donde nombre = 'bankDB ')

Eliminar base de datos bankDB

Ir

Crear base de datos bankDB

En

(

nombre = ' bankDB ',

nombre de archivo = 'e:\bankDB.mdf ',

tamaño = 3 MB,

crecimiento del archivo = 20

)

gouse bank d

go

-Crear tabla de información de usuario

Si existe (seleccione * de sysobjects, donde nombre = ' UserInfo ')

Eliminar información de usuario de la tabla

Ir a

Crear información de usuario de la tabla

(

ID de cliente int identidad (1, 1) no está vacío,

nombre de cliente varchar(16) no está vacío,

PID varchar(20) no está vacío,

phone varchar(15) no está vacío,

Dirección varchar(225)

)

información del usuario de la tabla goalter

Agregar restricción PK_customerID clave primaria (customerID),

Restricción UQ_PID única (PID),

Restricción CK_PID verificación ((len(PID)=15) o (len(PID)=18)) ,

p>

Restricción CK _Verificación de teléfono (len(teléfono)entre 11 y 13)-(teléfono como '[0-9][0-9][0-9][0-9][ 0-9] [0-9][0-9][0-9][0-9]') o (teléfono como '[0-9][0-9][0-9][0-9 ][-] [0-9][0-9][0-9][0-9][0-9][0-9]

Ingrese la información del usuario (nombre del cliente, PID, número de teléfono, dirección)

Seleccione 'Zhang San', '123456789012345', '010-67898978', sindicato 'Beijing Haidian'

Seleccione 'Li Si', '321245678912345678. ', '0478-4444333 ',nulo.

Ir a - crear información de tarjeta de tabla

Si existe (seleccione * de sysobjects donde nombre = ' información de tarjeta ')

soltar información de tarjeta de tabla

Ir

Crear información de tarjeta de tabla

(

cardID varchar(19) no está vacío,

curType varchar( 10 ) no está vacío,

SavingType varchar(10) no está vacío,

la fecha y hora de openDate no están vacías,

el dinero de openMoney no está vacío,

p>

El saldo no está vacío,

El varchar(12) pasado no está vacío,

IsReportLoss varchar(2) no está vacío ,

customerID int no está vacío

)

tabla de goalter cardInfo

Agregar restricción PK_cardID clave primaria (cardID),

Comprobación de restricción CK_cardID (ID de tarjeta como (' 1010[]3576[][0-9][0-9][0-9][0-9][][0-9][0-9] [0-9]'),

Restricción DF_curType default('RMB')para curType,

Restricciónck_checking de tipo de ahorro(tipo de ahorro en('actual','conveniencia fija', 'regular')),

Restricción DF_fecha de apertura predeterminada(getdate())para la fecha de apertura,

Restricción CK_cheque de dinero abierto (open money gt;=1),

Restricción CK _ verificación de saldo (saldo gt=1),

El valor predeterminado de la restricción DF_pass (' 888888 ') se utiliza para la entrega,

restricción CK _ isreportrosscheck(isreportrossin( ' yes ' , ' no ')),

restricción df _ isreportossdefault para IsReportLoss,

Restricción FK _Clave externa de ID de cliente (ID de cliente) se refiere a información del usuario (ID de cliente)

Ingrese información de tarjeta (ID de tarjeta, tipo de ahorro, openMoney, saldo, ID de cliente)

Seleccione '1010 3576 1234 5678', 'actual', 1000, 1000, 1 unión.

Seleccione '1010 3576 1212 1134', 'General', 1, 1, 2.

Ir a - Crear información de transferencia de tabla

Si existe (seleccione * de sysobjects donde nombre = 'transInfo')

Eliminar información de transferencia de tabla

Ir

Crear información de transferencia de tabla

(

la fecha y hora de transDate no están vacías,

cardID varchar(19 ) no está vacía,

transType varchar(4) no está vacía,

la moneda transMoney no está vacía,

Observaciones varchar(225)

)

Información de transmisión de la tabla de objetivos

Agregar restricción DF_transDate default(getDate()) para transDate

Restricción FK_card ID clave externa (ID de tarjeta) referencia Información de la tarjeta (ID de la tarjeta),

restricción CK _ verificación de tipo trans (escriba trans ('depósito', 'retiro')),

restricción CK_transMoney verificación (transMoney gt0)

goinsert into transInfo(cardID, transType, transMoney)

Valor (' 1010 3576 1234 5678 ', 'Withdrawal', 900)

Actualizar cardInfo establecer saldo = saldo-900, donde cardID = ' 1010 3576 1234 5678 '

Insertar transInfo(cardID, transType, transMoney)

Valor (' 1010 3576 1212 1134 ', 'Depósito', 5000 )

Actualizar saldo del conjunto de información de la tarjeta = saldo 5000, donde cardID = ' 1010 3576 1212 1134 '

Go/* - Simulación empresarial general.

-Zhang San cambia número de tarjeta y contraseña

Actualizar cardInfo set pass='123456 'donde card id = ' 1010 3576 1234 5678 '

Actualizar información de tarjeta set pass = ' 123123 ' donde card id = ' 10103576 1212121134 '

Ir

-Informar la pérdida de la tarjeta bancaria Lisi

Actualizar cardinfo set isreportboss =' ​​Sí 'donde card id = ' 1010 3576 1212 1134 '

Ir

-Estadísticas sobre el saldo de circulación de capital del banco y la liquidación de ganancias.

Declarar "fondos internos" y "fondos externos"

seleccione @ en dinero = suma(dinero trans)de información trans donde transmype = 'depósito'

select @ out money = sum(trans money) from trans info donde trans type = 'Retiro'

Imprimir 'La cantidad en circulación es: ' convert (varchar (10), @ inmoney) 'RMB '

Imprimir 'Liquidación de retiro:' convert (varchar (10), @ outmoney) 'RMB '

Imprimir 'El monto total de circulación bancaria es:' convert (varchar (10), (@ inmoney- @ outmoney)) 'RMB '

Ir

-Consulta a los usuarios que abrieron cuentas este mes y muestra la información relevante de la tarjeta.

Seleccionar número de tarjeta = cardInfo.cardID,

Número de tarjeta contraseña = pase,

Nombre de cliente = nombre de cliente,

ID de cliente número = PID,

Teléfono = teléfono,

Dirección = dirección,

Tipo de depósito = tipo de ahorro,

Monto de apertura de cuenta = openMoney,

Saldo=Saldo,

Currency=curType,

Fecha de apertura de cuenta=Fecha de apertura de cuenta

De información del usuario

userinfo . customerid = cardInfo . unión interna en información de tarjeta de identificación de cliente

información del automóvil cardid = transInfo . /p>

donde openDate está entre (select dateadd(dd, -datepart(dw, getdate()) 1, getdate()) y (select getdate())

Ir

- seleccione obtener fecha()

- seleccione dateadd(dd, -datepart(dw, getdate()) 1, getdate())

- seleccione fecha parte(dw , getdate ())

- seleccione dateiff(dd, (select dateadd(dd, -datepart(dw, getdate()) 1, getdate()), getdate())

- Consultar la información del cliente de la cuenta perdida reportada.

Seleccione nombre del cliente = nombre del cliente,

Teléfono = teléfono

De información del usuario

Donde id de cliente =(seleccione id de cliente de la información de la tarjeta ¿Dónde está el informe Ross = 'sí')

Ir a

-Servicio de recordatorio de reclamaciones

Seleccione Nombre del cliente = Nombre del cliente,

número de contacto = teléfono,

saldo de cuenta = saldo

de UserInfo .customerid = cardInfo .customerid unión interna en la información de la tarjeta

donde saldo lt=200

Ir

-Crear un procedimiento almacenado

-Zhang San retira dinero

Establecer nocount en

Si existe ( seleccione * de sysobjects donde nombre = 'proc_takeMoney ')

eliminar procedimiento proc_takeMoney

go

crear procedimiento proc_takeMoney

@ card varchar( 19),

@m钱,

@type varchar(4),

@inputPass varchar(6)="

Me gusta

Comenzar a operar

Declarar @errorsum int - define la acumulación de errores

set @errorsum=0

Imprimir " La transacción está en progreso, por favor espere..."

Declaración @moneda del saldo

seleccione @ saldo = saldo de la información de la tarjeta donde cardID=@tarjeta

Actualizar conjunto de información de la tarjeta @ saldo = @ saldo-@ m

donde cardID=@tarjeta y contraseña=@inputPass

establecer @errorsum=@errorsum @@error

if( @ error sum lt; gt0)

Iniciar

Revertir transacción

¡Falló el retiro "Imprimir"! Después del retiro, el saldo en la tarjeta debe ser mayor que 1. Yuan, el saldo es insuficiente...'

Imprimir 'Número de tarjeta:' @card ' ' 'Saldo: ' convert (varchar (10), (@ saldo @ m))

Fin

Otros

Inicio

Si @ balance gt= 1 - Si el saldo aún es mayor que 1 después del retiro, el retiro se realizó correctamente.

Iniciar

Enviar transacción

Imprimir "¡Retiro exitoso!"

Insertar transInfo(cardID, transType, transMoney)

Valor (@tarjeta, @tipo, @m)

Imprimir 'Número de tarjeta: ' @card ' ' 'Saldo: ' convertir (varchar (10), (@ saldo @ m))< / p>

Fin

Otro

Inicio

Revertir transacción

¡Error al "Imprimir" el retiro! Después del retiro, el saldo de la tarjeta debe ser superior a 1 yuan. El saldo es insuficiente...'

Imprimir 'Número de tarjeta:' @card ' ' 'Saldo: ' convert (varchar (10) , (@ balance @ m))

Fin

Fin

Ir

-Crear un procedimiento almacenado

-Lee Si Deposit

Establecer nocount en

Si existe (seleccione * de sysobjects donde nombre = ' proc _ input money ')

elimine el procedimiento proc_inputMoney

Ir

Crear proceso proc_inputMoney

@card varchar(19),

@m dinero,

@type varchar(4)

Me gusta

Comenzar a operar