찾다
php教程PHP开发SQL 저장 프로시저 시작의 기본 정보

대학에서는 저장 프로시저에 대해 언급한 바가 없습니다. 한동안 일했지만 저장 프로시저를 전혀 사용할 필요가 없습니다. 이는 소프트웨어 방향 때문일 수 있습니다. 향후 개발을 위해 처음부터 배우기로 결정했습니다.

저장 프로시저의 정의는 다음과 같습니다.

저장 프로시저는 특정 기능을 완료하기 위한 SQL 문 집합으로, 사용자가 지정하는 저장 프로시저입니다. 프로시저 및 지정된 매개변수(저장 프로시저가 매개변수를 사용하여 실행되는 경우)

SQL Server 시리즈 버전에서 저장 프로시저는 시스템 제공 저장 프로시저와 사용자 정의 저장 프로시저라는 두 가지 범주로 나뉩니다.

시스템 SP는 주로 마스터 데이터베이스에 저장되며 접두사 sp_가 붙습니다. 시스템 저장 프로시저는 주로 시스템 테이블에서 정보를 가져와 시스템 관리자를 위해 SQL Server를 관리합니다.

일반적으로 사용되는 시스템 저장 프로시저는 다음과 같습니다.

exec sp_databases; --查看数据库
exec sp_tables;        --查看表
exec sp_columns student;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpConstraint student;--约束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures';--查看存储过程创建、定义语句
exec sp_rename student, stuInfo;--修改表、索引、列的名称
exec sp_renamedb myTempDB, myDB;--更改数据库名称
exec sp_defaultdb 'master', 'myDB';--更改登录名的默认数据库
exec sp_helpdb;--数据库帮助,查询数据库信息
exec sp_helpdb master;

사용자 정의 저장 프로시저는 사용자가 만들고 다음과 같은 특정 기능을 완료할 수 있습니다. 사용자.

여기에서는 저장 프로시저의 이점을 살펴봅니다.

(1) 재사용. 저장 프로시저를 재사용하여 데이터베이스 개발자의 작업량을 줄일 수 있습니다.

(2) 성능을 향상시킵니다. 저장 프로시저는 생성될 때 컴파일되므로 나중에 사용할 때 다시 컴파일할 필요가 없습니다. 일반 SQL 문은 실행될 때마다 컴파일해야 하므로 저장 프로시저를 사용하면 효율성이 향상됩니다.

(3) 네트워크 트래픽을 줄입니다. 저장 프로시저가 서버에 위치하므로 호출 시 저장 프로시저의 이름과 매개변수만 전달하면 되므로 네트워크를 통해 전송되는 데이터의 양이 줄어듭니다.

(4) 보안. 매개변수화된 저장 프로시저는 SQL 주입 공격을 방지할 수 있으며 저장 프로시저에 부여, 거부 및 취소 권한을 적용할 수 있습니다.

그럼 기본 생성 구문을 살펴보겠습니다.

定义存储过程的语法
    CREATE  PROC[EDURE]  存储过程名
              @参数1  数据类型 = 默认值,
               …… ,
              @参数n  数据类型 OUTPUT
            AS
            SQL语句
    GO
,参数是可选的
,参数分为输入参数、输出参数
,输入参数允许有默认值
  这里来创建一个简单的存储过程
 
CREATE PROCEDURE UserLogin
@name varchar(20),
@password varchar(20)
AS
-- 定义一个临时用来保存密码的变量
--DECLARE @strPwd NVARCHAR(20) 这里先不介绍变量。稍后的文章会详细讲到
BEGIN
select * from userinfo where userName=@name and userPass=@password
END
GO
首先我们用简单的sql查询
select * from userinfo where userName='admin'
查询结果:
---------------------
UserName  UserPass
Admin      Admin
现在我们来执行我们的存储过程
exec UserLogin admin,admin
--或这样调用:
EXEC UserLogin @name='admin',@password='admin'
查询结果:
---------------------
UserName  UserPass
Admin      Admin

SQL SERVER에서는 모든 사용자 정의 변수가 "@"로 시작하는데, OUTPUT 키워드는 이 매개변수가 출력에 사용되며 AS 다음에는 저장 프로시저의 내용이 있음을 나타냅니다. 위의 코드가 "쿼리 분석기"에서 한 번 실행되면 SQL SERVER는 현재 데이터베이스에 "UserLogin"이라는 저장 프로시저를 생성합니다. "Enterprise Manager"를 열고 현재 작업 중인 데이터베이스를 선택한 후 왼쪽 트리 목록에서 "프로그래밍 가능성 -> 저장 프로시저"를 선택하면 방금 생성한 데이터베이스가 목록에 표시됩니다. 오른쪽에 저장 프로시저가 있습니다(그렇지 않은 경우 새로 고치십시오).

또는

EXEC 매개변수 1=매개변수 값 1, 매개변수 2=매개변수 값 2....

위에서도 보았습니다.

저장 프로시저를 삭제하려면 이렇게 drop

을 사용하세요.

그런 저장 프로시저를 생성하면 무슨 소용이 있나요? 데이터의 일치.

우리는 웹이나 winform 프로그램을 작업 중입니다. 로그인이 필요하다고 가정합니다. 음, 로그인을 위해 이 저장 프로시저를 호출할 수 있습니다. 전달된 매개변수에 따라 쿼리를 실행하면 이 레코드가 데이터베이스에 저장됩니다. 존재하는 경우 로그인이 성공했다는 뜻이고, 그렇지 않으면 실패했다는 의미입니다.

drop PROCEDURE UserLogin
이렇게 하면 더욱 안전하고 SQL 삽입을 방지할 수 있습니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.