Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Доброго времени суток!!!
Как бы меня ни убеждали, что это бред, пользовательский тип мне создать всё же нужно!
почитала я инструкцию и всё что я смогла написать

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

и оно не работает(
не понимаю я что делать, помогите пожалуйста.
30 ноя 11, 17:22    [11685168]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
brandSv,

что не работает? Сообщение об ошибке где?
Пользуйтесь, пожалуйста, тегом [SRС]
30 ноя 11, 17:23    [11685189]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
brandSv
insert into Departamet

и оно не работает(
ну так Вы insert недописали, надо еще values или select
30 ноя 11, 17:25    [11685205]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Сообщение 2715, уровень 16, состояние 7, строка 6
Столбец, параметр или переменная #2: невозможно найти тип данных My_type.
а как пользоваться тегом тегом [SRС]?

Вообще при заполнении таблиц датой она выводится следующим образом : гггг-мм-дд, а мне нужно чтоб было так : дд-мм-гггг, и для этого нужно пользовательский тип создать.. а вообще решила попробовать хоть что-нибудь написать.
30 ноя 11, 17:26    [11685215]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Паганель
brandSv
insert into Departamet

и оно не работает(
ну так Вы insert недописали, надо еще values или select


ничего не понимаю! insert и select куда?
30 ноя 11, 17:27    [11685226]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
brandSv
Вообще при заполнении таблиц датой она выводится следующим образом : гггг-мм-дд, а мне нужно чтоб было так : дд-мм-гггг, и для этого нужно пользовательский тип создать..
это бред
30 ноя 11, 17:34    [11685286]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
brandSv

create type My_type
from varchar(max) not null;
...
Departamet_NAME


датой она выводится следующим образом : гггг-мм-дд, а мне нужно чтоб было так : дд-мм-гггг, и для этого нужно пользовательский тип создать.. а вообще решила попробовать хоть что-нибудь написать.


Пишите еще что-нибудь... Но сначала лучше почитать документацию.
30 ноя 11, 17:35    [11685289]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
alexeyvg
Member

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

У вас же нету GO между create type и create table

А вообще действительно бред написан, всё правильно.
30 ноя 11, 17:47    [11685389]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Спасибо alexeyvg.

Только такой вопрос, тогда какая разница что писать Varchar(max) или My_type? Никакой, как я подразумеваю??? Тогда то что я сделала безсмысленно????? тогда какой смысл в задании? это единсвенное что можно сделать или есть чтото не такое бессмысленное???
30 ноя 11, 18:40    [11685628]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
brandSv
Спасибо alexeyvg.

Только такой вопрос, тогда какая разница что писать Varchar(max) или My_type? Никакой, как я подразумеваю??? Тогда то что я сделала безсмысленно????? тогда какой смысл в задании? это единсвенное что можно сделать или есть чтото не такое бессмысленное???
11664208
30 ноя 11, 20:12    [11686003]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
brandSv
Только такой вопрос, тогда какая разница что писать Varchar(max) или My_type? Никакой, как я подразумеваю?

Не надо писать ни VarChar(N) ни тем более VarChar(max), и тем паче свой тип.
Для этого есть типы Date, DateTime, SmallDateTime .... Time

brandSv
выводится следующим образом : гггг-мм-дд, а мне нужно чтоб было так : дд-мм-гггг
Тип данных выводится на КЛИЕНТЕ тем способом, который настроен. Поменяйте язык окружения (вянды) и стить отображения также поменяется. Сервер тут савсем не причём.

Если вам нужно извращения, то можно конвертировать DateTime в строку нужным вам способом (см Стили даты и времени).
30 ноя 11, 20:16    [11686012]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31981
brandSv
Только такой вопрос, тогда какая разница что писать Varchar(max) или My_type?
Непонятен вопрос. Как минимум, разный текст в определении таблицы.

Если какая разница в применении этих двух вариантов, то это наверное зависит от целей. Например, для "гггг-мм-дд, а мне нужно чтоб было так : дд-мм-гггг" Varchar(max) или My_type разницы никакой - оба неправильные.
brandSv
тогда какой смысл в задании?
Не знаю, я его не видел.
30 ноя 11, 20:31    [11686064]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
в общем, я ничего не понимаю!.
я varchar и не собиралась применять к столбцу в котором дата... date у меня в том столбце...

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

Задание такое: нужно написать пользовательский тип данных. У меня из типов там используется только int, varchar(max) и date. Что придумать даже не знаю... и как не заню.. вот
я наверно просо некорректно вопрос сформировала, про дату это другое задание мне б в этом разобраться.
я написала
use test
create type My_type
from varchar(max) not null;
go
#ИМЯ?
create table Departamet (
Departamet_ID int identity primary key,
Departamet_NAME My_type);
insert into Departamet

всё работает, только смысла не вижу в том что напишу My_type или varchar(max) , может как то не так поняла или что лучше сделать в этой ситуации??... помогите, пожалуйста!
1 дек 11, 12:33    [11688598]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
brandSv
Задание такое: нужно написать пользовательский тип данных.
brandSv
я написала
use test
create type My_type
from varchar(max) not null;
go
задание выполнено
1 дек 11, 12:37    [11688628]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Хорошо, спасибо большое, Паганель!
1 дек 11, 12:42    [11688669]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Glory
Member

Откуда:
Сообщений: 104751
brandSv
всё работает, только смысла не вижу в том что напишу My_type или varchar(max) , может как то не так поняла или что лучше сделать в этой ситуации??

Назовем ваш тип для примера Memos
Смысл его в том, что все, кто будут создавать в своих таблицах поле типа Memos получат varchar(max) в физическом смысле.
А не varchar(100) или varchar(1000) или nvarchar(4000)
1 дек 11, 12:43    [11688671]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Glory, но ведь, я с успехом могу ничего не создавать и написать просто varchar(max), вот в этом сдучае яне вижу смыла... Просто я SQL начала проходить дня 4 назад, моного не понимаю... но моё мнение такое
1 дек 11, 12:55    [11688781]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Glory
Member

Откуда:
Сообщений: 104751
brandSv
Glory, но ведь, я с успехом могу ничего не создавать и написать просто varchar(max), вот в этом сдучае яне вижу смыла...

Конечно можно нарушать любые договоренности в заданной тебе работе
Создавать таблицы с нарушением договоренностей о наименованиях
Произвольно менять типы полей
И тд
Но наверное недолго, до увольнения
Поймите, что пользовательский тип - это инструмент, а не поводок
1 дек 11, 12:59    [11688818]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Ну хорошо, Glory, соглашусь
1 дек 11, 13:05    [11688859]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
А если мне нужно написать правила для БД. В иструкции


CREATE RULE [ schema_name . ] rule_name
AS condition_expression
[ ; ]

Из всех объяснений я так и не поняла что такое condition_expression, и как потом применять правила. их нужно создавать для ограничения ввода данных в какой-то отдельный столбец или для БД вцелом? и как это будет действовать..?
1 дек 11, 13:37    [11689121]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
и чем правила от проверок отличаются?
1 дек 11, 13:38    [11689131]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Glory
Member

Откуда:
Сообщений: 104751
brandSv
Из всех объяснений я так и не поняла что такое condition_expression,

А из примеров тоже ?
1 дек 11, 13:39    [11689144]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
brandSv
А если мне нужно написать правила для БД. В иструкции


CREATE RULE [ schema_name . ] rule_name
AS condition_expression
[ ; ]

Из всех объяснений я так и не поняла что такое condition_expression, и как потом применять правила. их нужно создавать для ограничения ввода данных в какой-то отдельный столбец или для БД вцелом? и как это будет действовать..?
Лучше про это не надо.
Там же есть примечание, что в ближайшей версии этой возможности не будет.
Хотя жалко...
1 дек 11, 13:40    [11689153]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
Glory
Member

Откуда:
Сообщений: 104751
brandSv
и чем правила от проверок отличаются?

Может для человека, который "SQL начала проходить дня 4 назад", вы начали изучение не с той темы ?
1 дек 11, 13:42    [11689171]     Ответить | Цитировать Сообщить модератору
 Re: и всё же пользовательский тип данных(((  [new]
brandSv
Member

Откуда:
Сообщений: 18
Glory, меня не спрашивают, нужно создать БД. таблицы, заполнить их, связать, правила создать и сделать несколько проверок.
1 дек 11, 13:46    [11689214]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить