0

新しいプロジェクトが作成されたときに、プロジェクト タスクをテーブルに挿入したいと考えています。トリガーでこれを実現したいのですが、トリガーを複数回使用できるかどうかわかりません。

これが例です

insert into project_tasks(id,name,name2)
select concat('1',left(project.name,5),left(project.id,30)) as id,
'first task','do this'       
from projects where project_type = '1'
`$`limit 1

これが私の問題です。

の場合 project type = 2、値のセットを挿入したい場合、project type = 3別の値のセットを挿入したい場合など。

一部のプロジェクト タイプでは 6 つのタスクがあるため、関係を作成するために選択を行う必要がなければ、(1,2,3) (4,5,6) ,(7,8,9) で済みます。しかし、今はすべてのタスクに対して挿入を行う必要があるため、すべてのタスクをロードします

4

2 に答える 2

0

追加のテーブルを使用して、各プロジェクトのタスクのセットを定義できます。例えば

project_type - type of project
name1 - predefined string
name2 - predifined string

プロジェクトを作成した後、タスクテーブルに挿入するためにこのデータをロードできます。これにより、アプリケーションのベースコードを変更せずにタスクのセットを変更できます。

私の主なアイデアをご理解いただければ幸いです

于 2013-01-04T08:21:15.280 に答える
0

対処しようとするケースごとにストアド プロシージャを作成し、そのケースに適したストアド プロシージャをトリガーに決定させることができます。

ただし、これは不必要に複雑であり、考えられるケース/値の組み合わせの数が多すぎると、メンテナンスの悪夢になることがわかります。個人的には、この種のことはアプリケーション層で解決します。

于 2013-01-04T08:07:37.077 に答える