ALTER TABLE с программно решительным постоянным ЗНАЧЕНИЕМ ПО УМОЛЧАНИЮ

You need a style binding.

<tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }" 
[style.font-weight]="record?.status === 'processing' ? '300' : 'bold'">
</tr>

Также вы можете попробовать * ngIf = ""

<div *ngIf="some condition"> 
   <tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }">
</div>

<div *ngIf="some other condition"> 
   <tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }">
</div>
6
задан mwigdahl 24 March 2009 в 13:15
поделиться

2 ответа

Вы могли перенести код для нахождения идентификатора отдела в сохраненную функцию и использование что в ограничительном операторе ПО УМОЛЧАНИЮ:

CREATE FUNCTION dbo.GetDepartment()
RETURNS INT
AS
BEGIN
  DECLARE         @DepartmentID           INT

  SELECT          @DepartmentID = DepartmentID
  FROM            Department
  WHERE           RealName = 'RocketScience'

  RETURN @DepartmentID
END

И затем:

ALTER TABLE     [Employee]
ADD                     [DepartmentID] INT NULL
CONSTRAINT      [DepartmentIDOfAssociate] DEFAULT (dbo.GetDepartment())

Это помогает?

Marc

7
ответ дан 8 December 2019 в 13:02
поделиться

Принятый ответ работал отлично (Спасибо marc_s), но после того, как я думал об этом некоторое время, что я решил пойти другим путем.
Главным образом, потому что должна быть функция, оставленная на сервере, который я думаю, заканчивает тем, что был назван каждый раз, когда сотрудник добавляется.
Если бы кто-то смешал с функцией позже затем, то никто не мог бы ввести сотрудника, и причина не была бы очевидна. (Даже если это не верно затем существуют все еще дополнительные функции на сервере, которые не должны быть там),

То, что я сделал, было, собирают команду динамично в переменной и затем называют то использование команды EXECUTE.

Не только это, но и так как я использовал ключевое слово ПО УМОЛЧАНИЮ с NOT NULL таблица, было назад заполнено, и я не должен был выполнять несколько команд, чтобы сделать его. Я узнал это один удачей...

DECLARE     @ErrorVar                   INT
DECLARE     @DepartmentIDRocketScience          INT
DECLARE     @ExecuteString                  NVARCHAR(MAX)

SELECT          @DepartmentIDRocketScience = DepartmentID
FROM            Department
WHERE           RealName = 'RocketScience'

SET @ExecuteString = ''
SET @ExecuteString = @ExecuteString + 'ALTER TABLE      [Employee] '
SET @ExecuteString = @ExecuteString + 'ADD              [DepartmentID] INT NOT NULL '
SET @ExecuteString = @ExecuteString + 'CONSTRAINT       [DF_DepartmentID_RocketScienceDepartmentID] DEFAULT ' +CAST(@DepartmentIDAssociate AS NVARCHAR(MAX))
EXECUTE (@ExecuteString)
SELECT @ErrorVar = @@Error
IF (@ErrorVar <> 0)
BEGIN
    GOTO FATAL_EXIT
END
8
ответ дан 8 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: