У меня есть сценарий создания базы данных, который устанавливает таблицы, хранимые процедуры, представления и т. Д. c. Когда я изменяю тип столбца в операторе создания таблицы, я хочу, чтобы это изменение было отражено в операторах создания хранимых процедур / представлений / et c, которые ссылаются на эту таблицу без необходимости go и вручную изменять каждый из них. .
Другими словами, я хочу, чтобы мои хранимые процедуры автоматически определяли тип столбца на основе типа другого столбца при создании. Мне не нужно это для работы с действующей базой данных с данными, просто пока я перебираю дизайн и прототипирование.
Что-то вроде TYPE_OF()
в этом (вымышленном) примере:
create table Logs
(
id int identity(1, 1) primary key,
userName varchar(32),
logType int foreign key references LogType(id),
description varchar(128),
datestamp datetime
);
go
create procedure WriteLog
(
@userName TYPE_OF(Logs.userName), -- should be varchar(32),
@logType int,
@description TYPE_OF(Logs.description) -- should be varchar(128)
)
as
begin
insert into Logs
values(@userName, @logType, @description, SYSDATETIME());
end
go;
Мне кажется, я помню нечто подобное из Oracle / SQL Plus / PL SQL, но у меня возникают проблемы с его поиском.
Я использую SQL Server Management Studio v18 0,4