USE [ctsdev]
GO
/****** Object: StoredProcedure [dbo].[usp_insertemployeeinfo] Script Date: 03/24/2016 11:33:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_insertemployeeinfo]
@Emp_id int ,
@FirstName varchar(100),
@MiddleName varchar(50),
@LastName varchar(100),
@Date_of_join date,
@Job_title varchar(50),
@Grade varchar(50),
@Department varchar(50),
@Location varchar(100),
@Date_of_birth date,
@Nationality varchar(100),
@Mobile_no varchar(10),
@Psprt_yn varchar(1),
@Passport_no varchar(8),
@Date_of_issue date,
@Place_of_issue varchar(100),
@Date_of_expiry date,
@Pancard_yn varchar(1),
@Pancard_no varchar(10),
@Relatives_yn varchar(1),
@Relative_name varchar(100),
@Relative_grade varchar(100),
@Relative_dept varchar(100), /*1st table*/
@Home_adrs varchar(max),
@Home_number varchar(10),
@Home_mailid varchar(100),
@CHA_PHA_same varchar(1),
@Contact_name varchar(100),
@Relation varchar(100),
@City varchar(100),
@Contact_adrs varchar(100),
@Contact_num varchar(100), /*2nd table*/
@Qualification varchar(100),
@University_board varchar(100),
@Specialization varchar(100),
@Year_of_passing date,
@Grade_cgpa varchar(20), /*3rd table*/
@Bank_name varchar(100),
@Bank_adrs varchar(100),
@Account_num varchar(50),
@Ifsc_code varchar(50),
@Name_of_acnt_holder varchar(100), /*4th table*/
@From_date date,
@To_date date,
@Organization varchar(100),
@Job_title_his varchar(50),
@Sal_per_mnth varchar (50),
@Reasons_for_leavn varchar(max),
@Reference_name varchar(100),
@Contact_num_hist varchar(10),
@Organization_ref varchar(100),
@Job_title_ref varchar(50), /*5th table*/
@newid int output
AS
BEGIN
SET NOCOUNT ON
/* INSERTING INTO 1ST TABLE*/
INSERT INTO [tbl_empinfo ](FirstName,MiddleName,LastName,Date_of_join,Job_title,Grade,Department,Location,Date_of_birth,Nationality,Mobile_no,Psprt_yn,Passport_no,Date_of_issue, Place_of_issue,Date_of_expiry, Pancard_yn,Pancard_no,Relatives_yn, Relative_name, Relative_grade,Relative_dept)
VALUES (@FirstName,@MiddleName,@LastName,@Date_of_join,@Job_title,@Grade,@Department,@Location,@Date_of_birth,@Nationality,@Mobile_no,@Psprt_yn,@Passport_no,@Date_of_issue,@Place_of_issue,@Date_of_expiry,@Pancard_yn,@Pancard_no,@Relatives_yn,@Relative_name,@Relative_grade,@Relative_dept)
SELECT @Emp_id = SCOPE_IDENTITY()
SELECT @Emp_id As newid
RETURN
/*SELECT @identity=SCOPE_IDENTITY()*/
/* INSERTING INTO 2 TABLE*/
INSERT INTO tbl_address (Emp_id,Home_adrs,Home_number,Home_mailid,CHA_PHA_same,Contact_name,Relation,City,Contact_adrs,Contact_num)
VALUES (@Emp_id,@Home_adrs,@Home_number,@Home_mailid,@CHA_PHA_same,@Contact_name,@Relation,@City,@Contact_adrs,@Contact_num)
SELECT @Emp_id=SCOPE_IDENTITY()
RETURN
/* INSERTING INTO 3RD TABLE*/
INSERT INTO tbl_empeducation (Emp_id,Qualification,University_board,Specialization,Year_of_passing,Grade_cgpa)
VALUES (@Emp_id,@Qualification,@University_board,@Specialization,@Year_of_passing,@Grade_cgpa)
SELECT @Emp_id=SCOPE_IDENTITY()
RETURN
/* INSERTING INTO 4TH TABLE*/
INSERT INTO tbl_bank_account_dtls(Emp_id,Bank_name,Bank_adrs,Account_num,Ifsc_code,Name_of_acnt_holder)
VALUES(@Emp_id,@Bank_name,@Bank_adrs,@Account_num,@Ifsc_code,@Name_of_acnt_holder)
SELECT @Emp_id=SCOPE_IDENTITY()
RETURN
/* INSERTING INTO 5TH TABLE*/
INSERT INTO tbl_Employment_hist(Emp_id,From_date,To_date,Organization,Job_title_his,Sal_per_mnth,Reasons_for_leavn,Reference_name,Contact_num_hist,Organization_ref,Job_title_ref)
VALUES (@Emp_id,@From_date,@To_date,@Organization,@Job_title_his,@Sal_per_mnth,@Reasons_for_leavn,@Reference_name,@Contact_num_hist,@Organization_ref,@Job_title_ref)
SELECT @Emp_id=SCOPE_IDENTITY()
RETURN
/*SELECT @identity AS Id*/
END
GO
答えて
SPには複数のRETURN文が含まれています。残りの部分は実行されません。
参考:クエリまたはプロシージャから
終了し、無条件https://msdn.microsoft.com/en-us/library/ms174998.aspx
RETURN(のTransact-SQL)。 RETURNは直ちに完了し、プロシージャ、バッチ、または文ブロックを終了するためにいつでも使用できます。 RETURNに続く文は実行されません。
になっています** INSERTステートメントがFOREIGN KEY制約 "FK__tbl_addre__Emp_i__6B64E1A4"と競合しました。競合はデータベース "ctsdev"、テーブル "dbo.tbl_empinfo"、列 "Emp_id"で発生しました。 ステートメントが終了しました。**このエラーは最初のテーブルで発生しています – hari
つまり、挿入しようとしている行が別のテーブルのレコードを参照していますが、他のテーブルにはそのようなレコードはありません。あなたはそれを修正する必要があります(関係をチェックし、データをチェックするなど)。私は私の答えにコメントを追加することでそれを解決しようとすべきではありません、それは別の問題です。 –
そして助けてくれたら、答えを受け入れてください。 –
- 1. MySQLを使用して1つのテーブルに値を挿入するn回
- 2. 同じIDを使用して2つの異なるテーブルの値を新しいテーブルに挿入するMySQL
- 3. 1列のテーブル変更値をコピーして、同じテーブルに挿入します
- 4. 1つのサーバーの1つのテーブルにスクリプトデータを挿入し、別のサーバーの同じテーブルに挿入します
- 5. 他のテーブルからIDを取得して1つのテーブルに値を挿入する方法
- 6. sqlクエリを使用して1つのテーブルにのみ値を追加して別のテーブルに値を挿入する方法はありますか?
- 7. 3つのテーブルを結合して値のうちの1つに値がない値を取得する
- 8. 1つの入力値に基づいて、入力テーブル
- 9. Datagridviewを使用して1つのテーブルから別のテーブルに挿入する
- 10. javascriptを使用して1つのテーブルから別のテーブルに入力した値を渡す
- 11. MYSQL別のテーブルの値を1つのカラムに挿入する
- 12. 2つの異なるテーブルの2つの値を1つのテーブルに挿入します。
- 13. 2つの関連するテーブルに値を挿入します
- 14. MySQL複数のテーブルの値を1つのクエリで1つのテーブルに挿入しますか?
- 15. 入力値を取得し、2つのパラメータで関数に挿入して矩形を作成しますか?
- 16. 1つのテーブルに2つの同じ値を挿入しないようにするためのトリガー
- 17. SQL複数列に別のテーブルの挿入値とは、私は2つのテーブルを持っているし、表2に表1の値を挿入したい
- 18. SQL:1つのテーブルのデータを使用して別のテーブルに新しいデータを挿入する
- 19. LINQを使用して1つのクエリで2つのテーブルに挿入
- 20. ListViewのデータをvb.netのテーブル値のパラメータに挿入します
- 21. SQL Server:キー値が同じ別のテーブルから最大値を1つのテーブルに挿入
- 22. PDOを使用してmysqlテーブルに複数の値を挿入
- 23. 2つの列の値を1つのテーブルに追加して3番目の列に挿入する
- 24. 一意のIDを持つテーブルに同じ値を挿入
- 25. PHP複数のテーブルとその値を1つのテーブルに出力する
- 26. Rethinkdb、1つのドキュメントから値を取得し、別の値に+1を挿入してください
- 27. 2番目のテーブルに1番目のテーブルのIDが必要な2つのテーブルに値を挿入する
- 28. 1つのアクションで値を挿入した後にテーブルからMAX値を取得
- 29. WHERE句を使用して複数の値を同時にpostgresテーブルに挿入するには
- 30. テーブル値パラメータが一括して挿入されていない
どちらがデータを取得していますか?また、これを最小限の再作成で減らし、従うのが簡単になります。 – Richard
修正後に最初のテーブルのデータが – hari