TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Analise De Sistemas

Trabalho Universitário: Analise De Sistemas. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  3/6/2013  •  717 Palavras (3 Páginas)  •  414 Visualizações

Página 1 de 3

Como criar uma stored procedure (Parte I)

JORGE / 17/12/2007 / STORED PROCEDURE, SYBASE ASE / PERMALINK

Principalmente para quem está começando, esse tipo de informação é muito útil.

Muitos profissionais que conheço, que trabalham com administração de bancos de dados Sybase ASE, não tem o devido conhecimento sobre criação/desenvolvimento de stored procedures.

Este artigo é destinado à essas pessoas que por muitas vezes, ficam com seu trabalho limitado, por não saber criar as suas próprias stored procedure.

Uma store procedure é um objeto do banco de dados onde é possível rodar uma série de comandos, scripts, quando normalmente um comando apenas (insert, update, delete ou select) não é suficiente para realizar a tarefa que queremos.

Nela, por exemplo, pode-se usar comandos DDL, DML (sintaxe especial), dentre outros.

Segue abaixo a estrutura básica de uma SP:

1

2

3

4

5

6

7

8

9

10

11 create procedure pr_001 (@variavel tipo) as

begin

declare @variavel2 tipo,

@variavel3 tipo,

--comandos...

end

go

grant execute procedure pr_001 to public

go

O ‘pr_001′, no exemplo, é o nome dado a stored procedure. O nome pode ter até 31 caracteres.

As stored procedures de sistema (prefixo ‘sp_’) estão localizadas no banco de dados sybsystemprocs e master. As stored procedures de usuários normalmente são criadas nos bancos de dados de usuário (user database).

O prefixo sugerido pela Sybase para nomeação dos objetos stored procedure de usuário é ‘proc_’. Porém, outros padrões podem ser usados. Eu, por exemplo, uso “pr_”… é bem simples e me sobra mais espaço (dentro dos 31 possíveis) para usar no nome.

Detalhe importante sobre o local de criação e o nome das stored procedures:

Uma stored procedure com o prefixo “sp_” (sp de sistema), quando executada o servidor a procura primeiro no banco de dados atual. Não encontrando, ele procura no banco de dados sybsystemprocs. Não encontrando, ele procura no banco de dados master. Não encontrando, ele mostra uma mensagem de erro dizendo que não encontrou o objeto solicitado.

No caso, agora de uma stored procedure com o prefixo diferente de “sp_” (qualquer stored prodedure que cujo prefixo for diferente de “sp_” é relacionada como stored procedure de usuário), quando executada o servidor a procura no banco de dados atual. Não encontrando, ele mostra uma mensagem de erro dizendo que não encontrou o objeto solicitado.

O código abaixo é usado para evitar a mensagem de erro mostrada pelo Sybase, quando é realizada tentativa de excluir um objeto q não existe – “Cannot drop the procedure ‘pr_001′, because it doesn’t exist in the system catalogs.”

1

2

3

4

5

6

7

8 use user_DB

go

if exists (select * from sysobjects where name = 'pr_001')

begin

drop procedure pr_001

end

go

Usando mirror para renomear ou mover um device

JORGE / 15/01/2008 / ADMINISTRAÇÃO, SYBASE ASE / PERMALINK

Com o comando disk mirror é possível renomear os nomes dos arquivos físicos dos devices ou, simplesmente, mudar a localização deles.

Procedimento para devices “não master”:

Pegamos como exemplo, o device sysprocdev (nome lógico, cujo nome físico é sysprocsdev.dat) que é o device do banco de dados sybsystemprocs.

Por padrão ele é instalado no diretório C:sybasedata para ambientes Windows e no diretório/opt/sybase/data/ para ambientes Linux (no caso do Linux, o tipo de device usado é o file

...

Baixar como (para membros premium)  txt (5 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com