SQL Developer에서 SQL Server 스토어드 프로시저를 실행하는 방법
저장 프로시저를 실행할 수 있는 권한만 있는 SQL Server 데이터베이스에 대한 사용자 계정을 받았습니다.JTDS SQL Server JDBC jar 파일을 SQL Developer에 추가하여 서드파티 JDBC 드라이버로 추가하였습니다.SQL Server 데이터베이스에 정상적으로 로그인할 수 있습니다.이 절차를 실행하기 위한 구문은 다음과 같습니다.
EXEC proc_name 'paramValue1' 'paramValue2'
이것을 스테이트먼트 또는 스크립트로 실행하면, 다음의 에러가 표시됩니다.
Error starting at line 1 in command:
EXEC proc_name 'paramValue1' 'paramValue2'
Error report:
Incorrect syntax near the keyword 'BEGIN'.
나는 성명서를 포장해 보았다.BEGIN/END
단, 같은 에러가 발생합니다.SQL Developer에서 프로시저를 호출할 수 있습니까?그렇다면 어떤 구문을 사용해야 합니까?
EXEC 조항은 필요 없습니다.간단하게 사용
proc_name paramValue1, paramValue2
(그리고 Misnomer가 말한 것처럼 콤마가 필요합니다.)
네가 없어,
EXEC proc_name 'paramValue1','paramValue2'
다음 작업을 수행해야 합니다.
exec procName
@parameter_1_Name = 'parameter_1_Value',
@parameter_2_name = 'parameter_2_value',
@parameter_z_name = 'parameter_z_value'
EXECUTE [or EXEC] procedure_name
@parameter_1_Name = 'parameter_1_Value',
@parameter_2_name = 'parameter_2_value',
@parameter_z_name = 'parameter_z_value'
이게 옛날 거 알아요.하지만 이것은 다른 사람들을 도울 수 있다.
BEGIN/END 사이에 SP 호출 기능을 추가했습니다.여기 작업 대본이 있습니다.
ALTER Proc [dbo].[DepartmentAddOrEdit]
@Id int,
@Code varchar(100),
@Name varchar(100),
@IsActive bit ,
@LocationId int,
@CreatedBy int,
@UpdatedBy int
AS
IF(@Id = 0)
BEGIN
INSERT INTO Department (Code,Name,IsActive,LocationId,CreatedBy,UpdatedBy,CreatedAt)
VALUES(@Code,@Name,@IsActive,@LocationId,@CreatedBy,@UpdatedBy,CURRENT_TIMESTAMP)
EXEC dbo.LogAdd @CreatedBy,'DEPARTMENT',@Name
END
ELSE
UPDATE Department SET
Code = @Code,
Name = @Name,
IsActive = @IsActive,
LocationId = @LocationId,
CreatedBy = @CreatedBy,
UpdatedBy = @UpdatedBy,
UpdatedAt = CURRENT_TIMESTAMP
where Id = @Id
를 추가해야 합니다.,
paramValue1과 paramValue2 사이에 있습니다.놓치셨군요.
EXEC proc_name 'paramValue1','paramValue2'
EXEC proc_name @paramValue1 = 0, @paramValue2 = 'some text';
GO
스토어드 프로시저의 목적이,INSERT
[ Identity ]필드가 선언되어 있는 테이블에서 이 시나리오에서는 필드가 선언되어 있습니다.@paramValue1
는 선언하고 값 0을 전달해야 합니다.이는 자동 검출되기 때문입니다.
--worked for me in sql 5.731
--use db;
call procedureName;
스토어드 프로시저를 호출하는 방법은 두 가지가 있습니다.
불러
database name'. 'stored procedure name
(파라미터 값); 예: CALLdbs_nexopay_sisd1_dec_23
.spr_v2_invoice_details_for_invoice_receipt_sub_swiss
(1, 1, 1, 1);MySQL 워크벤치에서도 할 수 있습니다.i. 스토어드 프로시저를 오른쪽 클릭합니다.iiSQL Editor iii로 전송합니다.프로시저 콜
저장 프로시저를 폐기해야 하는 경우proc_name 'paramValue1' , 'paramValue2'...
동시에 1개의 선택 쿼리 및 저장 프로시저와 같이 둘 이상의 쿼리를 실행해야 합니다. select * from tableName EXEC proc_name paramValue1 , paramValue2...
저장 프로시저는 다음 구문을 사용하여 SQL 개발자 도구에서 실행할 수 있습니다.
BEGIN 프로시저명(); END;
매개 변수가 있으면 전달해야 합니다.
Select * from Table name ..i.e(are you save table name in sql(TEST) k.
Select * from TEST then you will execute your project.
언급URL : https://stackoverflow.com/questions/4136817/how-to-execute-sql-server-stored-procedure-in-sql-developer
'code' 카테고리의 다른 글
SQL 쿼리에서 변수를 설정하는 방법 (0) | 2023.04.08 |
---|---|
플렉스 아이템을 오른쪽 정렬하는 방법 (0) | 2023.04.08 |
Array.Add vs += (0) | 2023.04.08 |
PowerShell에서 어레이의 모든 개체에서 하나의 속성 값 선택 (0) | 2023.04.08 |
Foreach-Object에서 'continue'가 'break'처럼 작동하는 이유는 무엇입니까? (0) | 2023.04.08 |