Campos calculados

07/06/2006 - 19:39 por jcac | Informe spam
Hola lista, estoy creando una table en la cual estoy calculado algunos
campos en la definicion de la tabla, ahora algo adicional que antes no habia
hecho era utilizar un campo calculado en la misma tabla para calcular otro
campo, les alcanzo la instruccion que estoy haciendo

Saludos y gracias por su tiempo

Create Table #Tmp_Saldos
(SUCR_Codigo Char(2) Not Null, ALMA_Codigo Char(3) Not Null, PROD_CodProd
Char(15) Not Null, SALD_FecSaldo Char(10) Not Null,
SALD_SaldoF Decimal(20,4) Not Null Default 0, SALD_Inventario Decimal(20,4)
Not Null Default 0,
SALD_CostoPromS Decimal(20,10) Not Null Default 0, SALD_CostoPromD
Decimal(20,10) Not Null Default 0,
SALD_Faltante As Case When SALD_SaldoF > SALD_Inventario Then SALD_SaldoF -
SALD_Inventario Else 0 End,
SALD_Negativo As Case When SALD_SaldoF < 0 Then SALD_SaldoF *-1 Else 0 End,
SALD_Sobrante As Case When SALD_SaldoF < SALD_Inventario Or SALD_Negativo
<> 0 Then SALD_Inventario - SALD_SaldoF - SALD_Negativo Else 0 End
Constraint PK_Tmp_Saldos Primary Key Clustered(
SUCR_Codigo, ALMA_Codigo, PROD_CodProd, SALD_FecSaldo))
 

Leer las respuestas

#1 jcac
07/06/2006 - 21:42 | Informe spam
Gracias, si ya lo cambie.

"Jorge Gonzalez" escribió en el mensaje
news:
Jcac
A continuación te adjunto la definición que dan los BOL de una columnas
calculada:

A computed column is a virtual column not physically stored in the table
but computed from an expression using other columns in the same table. For
example, a computed column could have the definition: cost AS price * qty.
The expression can be a noncomputed column name, constant, function,
variable, and any combination of these connected by one or more operators.

Como puedes ver, una columnas calculada no puede incluir en su definición
otra columnas calculada. Por este tienes un problema.
Lo que podrías hacer aunque sea un poco tedioso es copias la misma
definición de tu columnas calculada 1 en la definición de la columa
calculada 2. No es muy elegante pero te va a funcionar.

saludos

Jorge González


"jcac" escribió en el mensaje
news:%
Hola lista, estoy creando una table en la cual estoy calculado algunos
campos en la definicion de la tabla, ahora algo adicional que antes no
habia hecho era utilizar un campo calculado en la misma tabla para
calcular otro campo, les alcanzo la instruccion que estoy haciendo

Saludos y gracias por su tiempo

Create Table #Tmp_Saldos
(SUCR_Codigo Char(2) Not Null, ALMA_Codigo Char(3) Not Null, PROD_CodProd
Char(15) Not Null, SALD_FecSaldo Char(10) Not Null,
SALD_SaldoF Decimal(20,4) Not Null Default 0, SALD_Inventario
Decimal(20,4) Not Null Default 0,
SALD_CostoPromS Decimal(20,10) Not Null Default 0, SALD_CostoPromD
Decimal(20,10) Not Null Default 0,
SALD_Faltante As Case When SALD_SaldoF > SALD_Inventario Then
SALD_SaldoF - SALD_Inventario Else 0 End,
SALD_Negativo As Case When SALD_SaldoF < 0 Then SALD_SaldoF *-1 Else 0
End,
SALD_Sobrante As Case When SALD_SaldoF < SALD_Inventario Or SALD_Negativo
<> 0 Then SALD_Inventario - SALD_SaldoF - SALD_Negativo Else 0 End
Constraint PK_Tmp_Saldos Primary Key Clustered(
SUCR_Codigo, ALMA_Codigo, PROD_CodProd, SALD_FecSaldo))





Preguntas similares