Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 18:23   #1
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию Как создать свой тип данных в SQL?

Доброго всем времени суток!!!

В задании нужно создать свой тип данных, правило и
несколько проверок...

Я попробовала что-то создать, но ничего не получилось

create database test;
go
use test
create type My_type
from varchar(max) not null;

--Cоздание таблицы Departamet (Подразделение)
create table Departamet (
Departamet_ID int identity primary key,
Departamet_NAME My_type);
insert into Departamet



Выдаёт ошибку : Сообщение 2715, уровень 16, состояние 7, строка 6
Столбец, параметр или переменная #2: невозможно найти тип данных My_type.


Не могли бы подсказать, какой тип данных вообще лучше будет создать, и что у меня не верно?

Заранее всем спасибо)
brans вне форума Ответить с цитированием
Старый 01.12.2011, 10:20   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Цитата:
Пользовательский тип реализуется с помощью класса сборки в среде Microsoft.NET Framework CLR. Для привязки пользовательского типа к его реализации средствами SQL Server 2005 сборка среды CLR, содержащая реализацию данного типа, должна быть сначала зарегистрирована в SQL Server с помощью инструкции CREATE ASSEMBLY.
Детали читать здесь.
Прик вне форума Ответить с цитированием
Старый 01.12.2011, 10:50   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Прик, это немного не то. ТС создает псевдоним типа данных, основанный на базовом типе, а не пользовательский тип данных. Может там дело в имени схемы, которую нужно задать как при создании псевдонима, так и при создании таблицы? Например dbo. У меня к сожалению версия MS SQL устаревшая, не могу проверить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.12.2011, 11:29   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Да, Аватар, действительно. Невнимательно посмотрел СТ - не углядел from .
А при создании псевдонима - все просто: здесь сначала надо выполнить команду создания типа, а только потом создавать таблицу с колонками нового типа (в общем, GO - дать серверу опомниться). Вот так на MS SQL 2008 R2 сработало:
Код:
use BusStation
CREATE TYPE My_Type
FROM varchar(100) NOT NULL;
go

--Cоздание таблицы Departamet 
create table Departamet (
Departamet_ID int identity primary key,
Dep_NAME My_Type);
insert into Departamet (Dep_name) values ('qwerty')
Прик вне форума Ответить с цитированием
Старый 01.12.2011, 19:53   #5
brans
Форумчанин
 
Регистрация: 15.10.2010
Сообщений: 105
По умолчанию

Спасибо Вам большое!
brans вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свой тип данных korand Общие вопросы Delphi 6 01.04.2011 20:37
Вопрос по MS Visual C++ : Свой тип данных Eminem Помощь студентам 15 17.01.2011 04:05
Создать свой упакованный тип в C# Никки Общие вопросы .NET 1 25.10.2009 11:49
Как создать тип данных? zgest Общие вопросы C/C++ 10 26.03.2009 01:24
Как мне создать свой тип данных PilGrim Общие вопросы .NET 1 05.11.2008 19:12