Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Validar columna

0 views
Skip to first unread message

Eduardo

unread,
Sep 26, 2006, 8:13:33 PM9/26/06
to
Hola,
Como puedo hacer que una columna que por ejemplo se llame Codigo, su valor
por defecto sea el valor de otra columna en otra tabla en tiempo de diseño

Gracias anticipadas

Eduardo


Maxi

unread,
Sep 27, 2006, 7:50:09 AM9/27/06
to
Una opcion seria usando Triggers, la otra opcion (la que yo te recomiendo)
es usar una UDF (Funcion definida por el usuario) y ponerla dentro de un
Check (constraint) de esa columna

--

Salu2

-----------------------------------------
Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker
------------------------------------------
"Eduardo" <edu...@clarion-spain.com> escribió en el mensaje
news:%23VzsYnc...@TK2MSFTNGP05.phx.gbl...

Alejandro Mesa

unread,
Sep 27, 2006, 10:11:04 AM9/27/06
to
Eduardo,

Puedes leer en los libros en linea que solo se permiten valores constantes
como cadena de caracteres, funciones de sistema como getdate() o valor NULL.
Si usas cualquier expresion que referencie otra columna, incluyendo una
funcion de usuario, SQL Server dara error.

Ejemplo:

create function dbo.f1 (
@i int
)
returns varchar(50)
as
begin
return (select c2 from dbo.t1 where c1 = @i)
end
go

-- SQL Server dara un error en esta sentencia
-- Server: Msg 128, Level 15, State 1, Line 5
-- The name 'c1' is not permitted in this context.
-- Only constants, expressions, or variables allowed here. Column names are
not permitted.

create table dbo.t1 (
c1 int not null,
c2 varchar(50),
c3 varchar(50) default (dbo.f1(c1))
)
go

drop function dbo.f1
go

drop table dbo.t1
go


AMB

0 new messages