powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / CASE для SQL Server user-defined table type?
10 сообщений из 10, страница 1 из 1
CASE для SQL Server user-defined table type?
    #38805548
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft SQL Server 2012 (2008) прозволяет создавать табличные типы, мы их используем в качестве рараметров для процедур.
CREATE TYPE dbo.ListOfInt AS TABLE(val int NULL);
ERwin это не поддерживает и поддерживать не будет: "As you may already know that in ERwin Datatypes are also linked with Domains by virtue of columns. There is a one-to-one co-relation between a Domain and a datatype. Creating Type as a table will essentially warrant one Domain to be associated with multiple datatypes.
This is a massive change and even though this may be looked at in the future there are no plans for this in the immediate future..."

А как с этим у PowerDesigner и Embarcadero E/R Studio?
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38805898
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1,

PowerDesigner умеет - Abstract Data Type.
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38805899
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример генерации:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DROP TYPE DDD
go

CREATE TYPE DDD
   AS TABLE (
      ATTRIBUTE_1 CHAR(10),
      ATTRIBUTE_2 CHAR(10)
   )
go
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38806686
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Embarcadero's Technical Support написал, что в данный момент не поддерживает, но в планах есть enhancement - "Support for user defined table type in MS SQL Server"
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38806694
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PowerDesigner тоже ответил: editing the XDB (Database Definition File).
Here are the steps, having your SQL 2012 model open:
* Open menu "Database > Edit Current DBMS...."
* On left pane, navigate to Script\Objects\Abstract Data Type\Create
You can see the definition:
<<
create type [%QUALIFIER%]%ADT%[%TYPE%=CLR?
external name [%Assembly.GeneratedName%[.%Class%]]:
as table (
%ADTDEF%
)]
>>
You need to replace it with
<<
create type [%QUALIFIER%]%ADT%[%TYPE%=CLR?
external name [%Assembly.GeneratedName%[.%Class%]]:[%TYPE%=Table?
as table (
%ADTDEF%
)]]
>>
* Hit OK and try reverse again.

пошёл пробовать
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38806725
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё равно не работает reverse ingineering:
if exists(select 1 from systypes where name='DDD')
drop type dbo.DDD
go

/*==============================================================*/
/* Domain: DDD */
/*==============================================================*/
create type dbo.DDD
from char(10) not null
go
if exists(select 1 from systypes where name='ListOfInt')
drop type dbo.ListOfInt
go

/*==============================================================*/
/* Domain: ListOfInt */
/*==============================================================*/
create type dbo.ListOfInt
from char(10) not null
go
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38806881
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Infernal V. RavenПример генерации:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DROP TYPE DDD
go

CREATE TYPE DDD
   AS TABLE (
      ATTRIBUTE_1 CHAR(10),
      ATTRIBUTE_2 CHAR(10)
   )
go



а как создать это средствами PowerDesigner ?
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38808021
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1а как создать это средствами PowerDesigner ?В меню Model - Abstract Data Types
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38808024
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не забудь тип выбрать на первой странице. По умолчанию CLR, нужно заменить на Table.
...
Рейтинг: 0 / 0
CASE для SQL Server user-defined table type?
    #38808809
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо заработало
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / CASE для SQL Server user-defined table type?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]