【发布时间】:2015-07-16 11:47:49
【问题描述】:
CREATE TABLE Person
(
ID INT Primary Key Identity (1,1),
LastName nVarchar (20) not NULL,
FirstName nVarchar (20) not NULL,
MiddleName nVarchar (20),
BirthDate DateTime not NULL,
Age INT not NULL,
Check (Age>18)
);
CREATE TABLE Department
(
ID INT Primary Key Identity (1,1),
DepartmentName nVarchar (50) Unique,
DepartmentCode nVarchar (20) Unique,
IsActive Bit Default (1)
);
CREATE TABLE Employee
(
ID INT Primary Key Identity (1,1),
PersonId INT Foreign Key REFERENCES Person,
DepartmentId INT Foreign Key REFERENCES Department,
Salary Decimal (18,2),
Check (Salary>10000),
IsActive Bit Default (1)
);
我试过用这个,但我不太确定这是否正确。
CREATE PROCEDURE sp_retrieve
AS
BEGIN
SELECT * FROM Person
END
GO
如何正确创建用于检索、更新和删除的存储过程?
【问题讨论】:
-
您的目标是 MySQL 还是 SQL Server?
-
那个存储过程只查询......它的删除或更新语句部分在哪里?删除和更新如何应用?
-
旁注:您应该不为您的存储过程使用
sp_前缀。微软有reserved that prefix for its own use (see Naming Stored Procedures),你确实会在未来某个时候冒着名称冲突的风险。 It's also bad for your stored procedure performance。最好只是简单地避免sp_并使用其他东西作为前缀 - 或者根本不使用前缀!
标签: sql-server stored-procedures sql-server-2014 sql-server-2014-express