Я просто потратил несколько часов, пытаясь выяснить, почему временная таблица, используемая в триггере, вела себя странно. Затем я понял, что временная таблица имеет то же имя, что и временная таблица в хранимой процедуре, используемой для вставки данных, запускающих триггер. Теперь я знаю, что это должно было быть очевидным для меня сразу, но это был типичный случай, когда он игнорировал самую очевидную причину, пытаясь выяснить, почему что-то не имеет смысла.
Так важно помните, что, когда хранимая процедура вызывает другой хранимый proc или запускает триггер, имена temp-таблиц должны быть уникальными для них, чтобы предотвратить нежелательные побочные эффекты.
Кроме того - даже при выполнении следующего кода во внутренней хранимой процедуре она не будет функционировать должным образом. Поскольку внешний хранимый proc, похоже, блокирует имя таблицы temp.
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
DROP TABLE #TempTable
По умолчанию поля в модели являются необязательными, если вы не поместите их в список required
. Ниже приведен пример - id
, category
- необязательные поля, требуется name
. Обратите внимание, что required
не является атрибутом полей, а атрибутом самого объекта - это список необходимых свойств.
type: object
required: # List the required properties here
- name
properties:
id:
type: integer
format: int64
category:
$ref: '#/definitions/Category'
name:
type: string
example: doggie
Если это модель запроса body, вам, вероятно, также нужно будет пометить тело как required
:
# swagger: '2.0'
parameters:
- in: body
name: body
required: true # <----
schema:
$ref: '#/definitions/Pet'
# openapi: 3.0.1
requestBody:
required: true # <----
content:
...
Чтобы указать значение по умолчанию для необязательных полей, вы можете использовать атрибут default
. Вот пример:
type: object
properties:
huntingSkill:
type: string
description: The measured skill for hunting
default: lazy
Поля необязательны, если они не отмечены как обязательные.
Вы указываете необходимые поля:
SomeObject:
type: object
required:
- name
- fartingPower
properties:
name:
type: string
fartingPower:
type: integer