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'
EXEC proc_name @paramValue1 = 0, @paramValue2 = 'some text';
GO
저장 프로 시저 목표가 INSERT
ID 필드가 선언 된 테이블에 대해 수행하는 것이라면이 시나리오에서 필드 @paramValue1
가 선언되고 자동 증가하므로 0을 전달해야합니다.
나는 이것이 오래된 것이라는 것을 안다. 그러나 이것은 다른 사람들을 도울 수 있습니다.
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
저장 프로 시저 proc_name 'paramValue1' , 'paramValue2'...
를 동시에 취소해야하는 경우 하나의 선택 쿼리 및 저장 프로 시저와 같이 둘 이상의 쿼리를 실행하는 경우 추가해야합니다. select * from tableName EXEC proc_name paramValue1 , paramValue2...
저장 프로시 저는 아래 구문을 사용하여 SQL 개발자 도구에서 실행할 수 있습니다.
BEGIN 프로 시저 이름 (); 종료;
매개 변수가 있으면 전달해야합니다.
Select * from Table name ..i.e(are you save table name in sql(TEST) k.
Select * from TEST then you will execute your project.
'Programing' 카테고리의 다른 글
Find () 및 Where (). FirstOrDefault () (0) | 2020.06.22 |
---|---|
RVM과 rbenv는 실제로 어떻게 작동합니까? (0) | 2020.06.22 |
Codeigniter에서 이미지 파일, CSS, JS 등을 어디에 배치합니까? (0) | 2020.06.22 |
데이터에 대한 DES, Triple DES, AES, 복어 암호화 비교 (0) | 2020.06.22 |
onNewIntent () 라이프 사이클 및 등록 된 리스너 (0) | 2020.06.22 |